在Laravel 5.3中,package.json文件如下所示:所有包都在devDependencies中。有人可以告诉我生产中还需要哪些包装。我认为除了browsersync之外的所有内容。
的package.json
Intents
我认为在生产模式下也需要像vue.js这样的软件包,所以我会将它们移动到依赖项而不是devDependencies。
答案 0 :(得分:10)
如果您使用的是devDependencies
,则所有这些都是elixir
:
首先,您不需要生成elixir
,因为它只是gulp
的包装器,希望您可以在开发计算机上编译资源并上传它们。
所有其他npm javascript库都可以使用elixir
进行编译,因此不需要在生产计算机上使用它们。默认情况下,elixir
使用webpack
将resources\assets\js\app.js
编译为public\js\app.js
,您需要将其作为script
添加到您的网页中。
如果你看一下:resources\assets\js\bootstrap.js
,你会看到laravel
默认添加的软件包(例如vue
,bootstrap
和jQuery
) ,例如,如果您要将dropzone
添加到项目中,只需将其添加到bootstrap.js
,如下所示:
require('dropzone');
现在将dropzone
编译为public\js\app.js
,dropzone
devDependency
。{/ p>
答案 1 :(得分:0)
此外,在使用Laravel Mix的新版本Laravel(Webpack的包装)中,所有依赖项都可以位于devDependencies
下。
Webpack将所有内容编译为单个文件(/js/app.js
)或多个文件,例如,如果您使用extract
方法来构建文件(/js/app.js
,{{1 }},/js/app.js
)。这些是浏览器执行JavaScript代码所需的唯一文件;对于Webpack来说,只要在/js/manifest.js
下找到所有依赖项即可。