我的RequireJS配置如下所示。首先,我想加载AngularJS,然后是我的bootstrap app.js然后是两个控制器,但它不会加载数组中的第二个文件。
我做错了什么?
require.config({
baseUrl: '/js/app',
paths: {
'angular': '/js/vendor/angular/angular.min',
'controllers': ['controllers/CartController', 'controllers/CatalogController']
},
shim: {
'angular': {
exports: 'angular'
},
'app': {
deps: ['angular']
},
'controllers': {
deps: ['app'],
}
},
});
require(['controllers'], function () {
angular.bootstrap(document, ['MyApp']);
});
感谢您的帮助!
答案 0 :(得分:4)
paths
的数组表示法用于从CDN加载的内容;所以RequireJS会尝试数组中的第一个条目(CDN),如果它已经关闭,将会回到第二个条目(假设由你自己的服务器提供)。
为了包含来自一个依赖项的所有控制器,您可能必须创建一个虚拟(空)controllers.js
,添加一个路径,并将其填充为:
shim: {
'controllers': {
deps: ['controllers/CartController', 'controllers/CatalogController']
}
}