RequireJS路径中具有一个标识符的多个文件

时间:2013-11-20 10:48:18

标签: javascript requirejs

我的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']);
});

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

paths的数组表示法用于从CDN加载的内容;所以RequireJS会尝试数组中的第一个条目(CDN),如果它已经关闭,将会回到第二个条目(假设由你自己的服务器提供)。

为了包含来自一个依赖项的所有控制器,您可能必须创建一个虚拟(空)controllers.js,添加一个路径,并将其填充为:

shim: {
    'controllers': {
        deps: ['controllers/CartController', 'controllers/CatalogController']
    }
}