Google Closure Compiler使用requirejs连接文件

时间:2016-05-24 23:25:42

标签: requirejs google-closure-compiler

我正在使用Google Closure编译器来连接和缩小文件。我使用require,我的模块依赖于一些JS文件。部分JS文件属于内部JS框架,其他几个依赖于我们团队编写的模块。我的目标是连接1个文件中的所有依赖项,然后将其最小化。以下是代码(前缀为'oj'的文件是框架文件)

define(['ojs/ojcore',
'knockout', 
'jquery', 
'generalApp', 
'modules/helpers',
'modules/facade/mrd',
'modules/facade/trf',
'modules/facade/crf',
'modules/models/sm',
'modules/models/mm',
'modules/list/dls',
'modules/utils/cm',
'ojs/ojchart',
'ojs/ojmasonrylayout',
'ojs/ojmenu',
'ojs/ojbutton',
'ojs/ojfilmstrip',
'ojs/ojarraytabledatasource',
'ojs/ojselectcombobox',
'ojs/ojdialog',
'ojs/ojcheckboxset',
'ojs/ojpagingcontrol'
], function (oj, ko, $, app, helpers, mrf, trf,crf, sm, mm, dls, cm) {
});

这些文件依赖于其他JS文件,我只希望依赖的JS文件在最终的JS文件中连接起来。知道如何使用Google Closure Compiler进行连接吗?

我尝试使用--process_common_js_modules --transform_amd_modules标志,但编译器抛出了错误,因为它无法找到位于ojs下的框架文件。有一个requirejs配置文件,我们在其中声明路径变量,但我不知道如何在连接过程中指定配置文件。

提前致谢

1 个答案:

答案 0 :(得分:1)

Closure-compiler不知道如何使用AMD模块本地订购依赖项。相反,使用requirejs编译器以正确的顺序连接文件,然后使用closure-compiler进行缩小。这是通过将requirejs optimize标志设置为none来完成的。