Uglify RequireJS模块而不连接它们

时间:2015-11-12 12:33:56

标签: optimization requirejs uglifyjs r.js

是否可以在不将所有RequireJS模块连接成单个文件的情况下进行uglify? (我知道optimize: "none")可以采用相反的方式。

2 个答案:

答案 0 :(得分:0)

我知道uglifyjs-folder有此选项,参数-e-o引用文件夹(不是文件)。

例如:

uglifyjs-folder "%CD%" -e -o "%CD%\subfolder"

(Windows中的{%CD%获取当前文件夹)

答案 1 :(得分:0)

可能使用r.js来整理文件而不连接它们。如果您未在配置选项中提供任何模块名称(即您不使用modules也未指定name),则r.js将单独处理来自baseUrl的每个文件,因此将在没有连接的情况下对每个文件进行uglify。例如,这个简单的构建配置:

{
    baseUrl: "js",
    dir: "build",
}

导致r.js分别处理来自js的每个文件,并在解除文件后将其复制到build。无论js中有多少文件,都不会发生连接。使用上面的配置,r.js将不会跟踪模块之间的任何依赖关系,因为它不需要跟踪依赖关系来完成其工作。

话虽如此,我不会将r.js用于单独解析文件,除非r.js的某些附加功能我需要用。例如,使用cjsTranslate: truer.js将CommonJS模块转换为AMD并同时执行uglification可能是有利的。