我有一个Javascript应用程序,它使用RequireJS跨越多个文件,我想将它连接成一个用于生产环境的文件。
我一直在查看grunt-contrib-requirejs,但在Gruntfile.js
中设置配置的说明假设您已经拥有连接的生产源。我知道我也可以使用grunt-contrib-concat
,但我想知道是否可以使用grunt-contrib-requirejs
模块。
我还尝试在配置中对name
字段使用通配符选择,但是虽然Grunt在app/**/*.js
grunt-contrib-requirejs
之类的规范下工作正常但不会连接当我指定它时它们。
我发现this example有关如何执行此操作,但是当我在modules
数组中包含多个条目时,运行Grunt会抱怨某些文件无法加载其中指定的依赖项。主文件' s require.config
。
例如,如果是main.js
:
require.config({
paths: {
'angular': 'http://some.cdn/angular.min'
},
shim: {
angular: {
exports: 'angular'
}
}
});
//Set up basic code
这是controllers/ctrl.js
:
define(['angular'], function(angular) {
...
});
然后它显然没有从main.js
加载配置并抱怨没有文件/my/project/controllers/angular.js
我还尝试将配置移动到使用mainConfigFile
选项指定的文件,但this option does not work并且似乎此选项旨在采用Grunt配置而不是RequireJS配置