用于缩小/ uglify并将整个项目合并到一个文件的简单工具?

时间:2015-10-30 19:12:53

标签: node.js uglifyjs2

我正在寻找能够在基础文件夹上运行并将所有javscript文件合并到一个缩小文件的工具。 我看了uglifyjs2,这似乎是最喜欢的,但没有处理require次调用: 我尝试在几个文件上使用命令行压缩方法,但是如果我尝试单独运行它,则需要保留调用并在运行时断开代码 uglifyjs routes/* libs/* config/* models/* server.js -o server.min.js -c sequences,dead_code,booleans,conditionals,properties,unused,if_return,join_vars,hoist_vars

所以我不能真正制作“单一”文件版本,只能为每个文件进行uglify并生成缩小版本,但整个项目结构仍然存在。 我也尝试过使用node-optimize,但它会在代码中留下许多路径,__FAKE_REQUIRE__声明保存我的文件的完整路径,即使它最初只是相对的(作为完整路径,它不是便携式到其他电脑)

是否有合理的方法来生成包含整个项目内容的单个文件,然后对其进行uglify,并且发布一个简单易用的(单个文件)发布版本?

2 个答案:

答案 0 :(得分:0)

您可以将Grunt用于此目的。为此,首先您可以在其中指定您的来源。之后你可以连接它们然后uglify / minify来获得一个文件。请检查此资源http://gruntjs.com/getting-started

答案 1 :(得分:0)

我建议混合使用browserifyGoogle Closure Compiler

使用browserify,您可以在开发(“需要”CommonJS格式的文件)时保持源代码的良好分离,然后在进入生产时生成单个“捆绑”文件。然后你可以使用Closure Compiler(甚至是uglifyjs)缩小单个文件(如果你愿意,可以使用其他文件,包括第三方库)。