Browserify缩小和连接文件
我有一个纯粹基于Web的应用程序(即无节点服务器),我希望能够为Web应用程序的每个页面绑定我所有的JS文件和CSS文件。
我正在使用Gulp来简单地将我的JS和CSS文件缩小并连接成一个包,但是发现我提供这些文件的顺序是随机发出的(如果你问我......就不可接受)。 我尝试了更多随机结果的gulp-order
和其他流排序模块。
我想尝试browserify
但我被困在两件事
module.exports
时,我需要使用module.exports
吗? 想想我的网络应用程序是非常基础的。它需要jQuery,引导程序和我自己的库。 没有必要以正确的顺序包含这些文件的复杂性 browserify
而不是命令行时,它似乎尝试并捆绑它需要的每一件事情? 我只想捆绑我的app.js
具有require()
的东西 例如。
var browserify = require('browserify');
var fs = require('fs');
var b = browserify();
b.add('./app.js');
b.transform({
global: true
}, 'uglifyify');
b.bundle()
.pipe(fs.createWriteStream('./bundle.js'));
当我运行browserify build.js
它可能browserify build.js
100个文件输出到标准输出中。 我试图复制当我运行browserify -g uglifyify app.js > bundle.js
时发生的情况 - >这需要app.js中的所有browserify -g uglifyify app.js > bundle.js
()并将其捆绑到一个新文件中。
如果您希望能够在应用程序的其他部分require
您的模块/代码,则需要使用module.exports
。 否则,你不需要导出任何东西。
Browserify仅绑定所需的依赖关系,但它也是递归地执行此操作,这意味着如果您的应用程序需要库a和库a需要库b,那么browserify将捆绑您的代码,库a和库b。