0

我正在寻找一种能够在基本文件夹上运行并将所有 javscript 文件合并到单个缩小文件的工具。我查看了 uglifyjs2,它似乎是最喜欢的,但不处理require调用:我尝试在几个文件上使用命令行 compress 方法,但是如果我尝试单独运行,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

所以我不能真正制作“单一”文件版本,只是为每个文件丑化并生成一个缩小版本,但整个项目结构仍然存在。我也尝试过使用节点优化,但它会在代码中留下许多痕迹,__FAKE_REQUIRE__声明包含我的文件的完整路径,即使它最初只是相对的(作为完整路径,它不能移植到其他计算机)

有没有一种合理的方法来生成包含整个项目内容的单个文件,然后将其丑化,从而获得良好且简单的(单个文件)分发版本?

4

2 回答 2

0

为此,您可以使用 Grunt。为此,首先您可以在其中指定您的来源是什么。之后,您可以连接它们,然后进行 uglify/minify 以获取单个文件。请检查此资源http://gruntjs.com/getting-started

于 2015-10-30T20:24:31.207 回答
0

我建议混合使用browserifyGoogle Closure Compiler

使用 browserify,您可以在开发时很好地分离源代码(“需要”CommonJS 格式的文件),然后在投入生产时生成单个“捆绑”文件。然后,您可以使用 Closure Compiler(甚至使用 uglifyjs)缩小该单个文件(如果您愿意,还可以缩小其他文件,包括 3rd 方库)。

于 2015-10-30T20:35:03.207 回答