我有一个纯粹基于网络的应用程序(即没有Node服务器),我希望能够为Web应用程序的每个页面捆绑所有JS文件和CSS文件。
我正在使用Gulp简单地将我的JS和CSS文件缩小并连接成一个捆绑包,但发现我提供文件的顺序随后被随机喷出(如果你问我,这是不可接受的)。我尝试了gulp-order
和其他具有更多随机结果的流排序模块。
我想尝试browserify
,但我被困在两件事上
module.exports
?想想我的网络应用程序是非常基本的..它需要jQuery,bootstrap和我自己的库。没有必要以正确的顺序包含文件的复杂性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
时,它可能会向stdout喷出100个文件。我试图复制运行browserify -g uglifyify app.js > bundle.js
时发生的事情 - >这需要来自app.js的所有requires()并将其捆绑到一个新文件中。
答案 0 :(得分:1)
如果您希望能够在应用程序的其他部分require
使用您的模块/代码,则需要使用module.exports
。否则你不需要导出任何东西。
Browserify只捆绑所需的依赖项,但它也会递归执行此操作,这意味着如果您的应用程序需要库a和库a需要库b,那么browserify将捆绑您的代码,库a和库b。