我应该在我的Web项目中包含整个bower_components和node_modules文件夹吗?

时间:2016-04-29 01:52:31

标签: npm bower web-deployment webdeploy

当我在凉亭或npm下载包时,许多不相关/无用的文件也是如此 尤其是在npm包中。我通常只包括该包的.css或.js文件,例如在bootstrap e.t.c.但对于像聚合物或Anjular.js或Electron这样的包,我们也需要多个其他文件。因此,当我部署项目时,我应该包含完整的文件夹,还是单独复制所需的文件,还是有其他方法?

1 个答案:

答案 0 :(得分:0)

当您部署到生产服务器时,一个好方法是仅包含您实际使用的文件。您还应该创建一个优化文件来提供给客户端。 为此,您通常有一个部署脚本,可生成一个或多个缩小的.css或.js文件(例如,vendor.js用于库,bundle.js用于代码)。

可以使用gruntgulp等工具构建此脚本,也可以使用WebpackJspm等模块捆绑包。

您可以像this website中那样创建自己的Grunt或Gulp脚本。

使用模块捆绑器和现代javascript来组织代码时,您将构建一个类似于

的条目javascript文件(bundle.js)
import {MyLibrary} from 'my-library';
import {AnOtherLibrary} from 'an-other-library';

console.log(MyLibrary.saySomething());

在这种情况下,Webpack处理node_modules导入以及.js文件生产版本的创建/缩小/连接。

正如您所说,有多个文件要包含(js,css甚至是字体),因此配置脚本可能需要一些时间。尝试查找使用您的框架的Yeoman generator,并使用其他已为此目的创建的部署脚本。 This one使用AngularJS,Bower和Grunt。 This one使用Webpack和ReactJS。