在Laravel 5.3中管理js包/文件的最佳方法是什么?

时间:2016-11-08 15:39:36

标签: php laravel

第一种情况:我有一些脚本,我自己写了(让我们称之为requests.js)。

第二种情况:有一个很大的插件TinyMCE,我可以从bower或npm安装。

据我所知,在第一种情况下,我应该将我的脚本保存在resources / assets / js中。但在此之后我应该在哪里打电话给他们? assets / js中有2个文件,它们与Laravel 5.3一起安装:app.js和bootstrap.js。我应该在这些文件中调用我的脚本,然后将它们插入一个文件中吗?

在第二种情况下,我应该使用一些npm或bower包管理器。但是,接下来我该怎么办?我应该在哪里调用这个已安装的软件包?在assets / js / - app.js或bootstrap.js中?但是怎么样,或者我不应该这样做?

3 个答案:

答案 0 :(得分:1)

它基于意见,但我认为混合前端和后端并不是一个好习惯。

您的提案

您的公共(前端)文件(如引导程序)应将它们存储在Laravel安装的public/中。您可以使用public/assets/js等文件夹resources在您的html文件中不可用(如果您的意思是Laravel安装文件夹)。

更好的方法

更好的方法是从后端separate totally您的前端。在这种情况下,您需要一个前端框架,如AngularJS或Ember。

为什么?

  • 您可以replace其中一个without troubles
  • 您可以将后端用作third party apihttps://api.yourdomein.com/v1/..。)
  • 带有刀片视图和其他模板格式的
  • No conflicts
  • 当然,separation of responsibilities

答案 1 :(得分:1)

您应该将凉亭组件安装在resources/assets/js文件夹中。然后将任何这些组件添加到gulpfile中的构建过程中。通过这种方式,您可以完全控制连接和缩小的内容,并最终包含在模板中。

答案 2 :(得分:1)

很难将bower组件放在resource / assets / js中,因为这些组件通常由许多文件组成,js / css / others。我只是在安装的根目录中使用bower install,bower_components dir出现,我把它放入.gitignore。任何拉动变化的人都可以安装凉亭。

更进一步,我创建文件,在那里我用两个值js和css创建json对象,在那里我将路径放到我需要的文件中。然后我在gulp.js中需要它,我可以用这些文件做任何我想做的事情。通常连续,缩小,复制结果公开。

将前端放入同一台服务器并没有错。也许你是单独工作或在小团队中工作,而你没有时间管理太多事情。我在周围看到的常见做法是人们在根内部制作dir角,然后抓住这个目录中的所有js / html文件,并将它们复制到公共内部gulp。