Javascript 在grunt requirejs中组合多个文件
我有一个使用RequireJS跨越多个文件的Javascript应用程序,我希望将其连接到一个用于生产环境的文件中 我一直在看Javascript 在grunt requirejs中组合多个文件,javascript,gruntjs,requirejs,grunt-contrib-requirejs,Javascript,Gruntjs,Requirejs,Grunt Contrib Requirejs,我有一个使用RequireJS跨越多个文件的Javascript应用程序,我希望将其连接到一个用于生产环境的文件中 我一直在看Gruntfile.js中关于设置配置的说明,但是假设您已经拥有了连接的生产源代码。我知道我也可以使用grunt-contrib-concat来实现这一点,但我想知道是否有办法使用grunt-contrib-requirejs模块来实现这一点 我还尝试在配置中为name字段使用通配符选择,但尽管Grunt在app/***等规范中工作良好。jsGrunt contrib r
Gruntfile.js
中关于设置配置的说明,但是假设您已经拥有了连接的生产源代码。我知道我也可以使用grunt-contrib-concat
来实现这一点,但我想知道是否有办法使用grunt-contrib-requirejs
模块来实现这一点
我还尝试在配置中为name
字段使用通配符选择,但尽管Grunt在app/***等规范中工作良好。js
Grunt contrib requirejs
在我指定此选项时不会将它们连接起来
我找到了如何做到这一点,但当我在模块
数组中包含多个条目时,运行Grunt会抱怨某些文件无法加载在主文件的require.config
中指定的依赖项
例如,如果这是main.js
:
require.config({
paths: {
'angular': 'http://some.cdn/angular.min'
},
shim: {
angular: {
exports: 'angular'
}
}
});
//Set up basic code
define(['angular'], function(angular) {
...
});
这是controllers/ctrl.js
:
require.config({
paths: {
'angular': 'http://some.cdn/angular.min'
},
shim: {
angular: {
exports: 'angular'
}
}
});
//Set up basic code
define(['angular'], function(angular) {
...
});
然后它显然没有从main.js
加载配置,并抱怨没有文件/my/project/controllers/angular.js
我还尝试将配置移动到使用
maincigfile
选项指定的文件中,但似乎此选项旨在采用Grunt配置,而不是RequireJS配置。您已经查看了?@steveax,感谢您为我指出这一点。不过,我仍然无法获得grunt requirejs来构建我想要的东西。我试图让它获取一个文件目录,并将它们合并成一个缩小的输出文件。我正在设置path
属性以从CDN加载第三方库以及其他本地模块。当我指定appDir
时,我得到一个错误,即它正在查找类似UndefinedController/foo ctrl.js的文件。如果我设置了baseUrl,它将查找与该路径相关的所有包含CDN托管库的内容(例如/my/dir/http://some.cdn/angular
您知道这方面的说明吗?