我正在寻找能够在基础文件夹上运行并将所有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,并且发布一个简单易用的(单个文件)发布版本?
答案 0 :(得分:0)
您可以将Grunt用于此目的。为此,首先您可以在其中指定您的来源。之后你可以连接它们然后uglify / minify来获得一个文件。请检查此资源http://gruntjs.com/getting-started
答案 1 :(得分:0)
我建议混合使用browserify和Google Closure Compiler
使用browserify,您可以在开发(“需要”CommonJS格式的文件)时保持源代码的良好分离,然后在进入生产时生成单个“捆绑”文件。然后你可以使用Closure Compiler(甚至是uglifyjs)缩小单个文件(如果你愿意,可以使用其他文件,包括第三方库)。