Laravel:哪些npm包应该在"依赖" vs" devDependencies"?

时间:2016-10-24 12:54:58

标签: laravel npm dependencies packages.json

在Laravel 5.3中,package.json文件如下所示:所有包都在devDependencies中。有人可以告诉我生产中还需要哪些包装。我认为除了browsersync之外的所有内容。

的package.json

Intents

我认为在生产模式下也需要像vue.js这样的软件包,所以我会将它们移动到依赖项而不是devDependencies。

2 个答案:

答案 0 :(得分:10)

如果您使用的是devDependencies,则所有这些都是elixir

首先,您不需要生成elixir,因为它只是gulp的包装器,希望您可以在开发计算机上编译资源并上传它们。

所有其他npm javascript库都可以使用elixir进行编译,因此不需要在生产计算机上使用它们。默认情况下,elixir使用webpackresources\assets\js\app.js编译为public\js\app.js,您需要将其作为script添加到您的网页中。

如果你看一下:resources\assets\js\bootstrap.js,你会看到laravel默认添加的软件包(例如vuebootstrapjQuery) ,例如,如果您要将dropzone添加到项目中,只需将其添加到bootstrap.js,如下所示:

require('dropzone');

现在将dropzone编译为public\js\app.jsdropzone 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下找到所有依赖项即可。