我使用 requirejs-rails 来管理 Rails 4 项目中客户端模块之间的依赖关系。
我的切入点是:
(function (define, undefined) {
'use strict';
var mainModule = function(angular, routingConfiguration, controllers) {
var restaurantsApp = angular.module('RestaurantsApplication', ['ui.router'])
.config(routingConfiguration);
angular.forEach(controllers, function(controller, name){
restaurantsApp.controller(name, controller);
});
};
define(['angular', 'application/routing-configuration',
'controllers', 'angular-ui-router'],
mainModule );
})(window.define);
但是在定义函数中“注入”的每个模块都是未定义的。我的意思是,如果我在定义函数内部调用
console.log(arguments)
我收到
[undefined, undefined, undefined, undefined]
我想,在某个地方我有循环引用,所以我删除了除 angular 之外的所有模块
(function (define, undefined) {
'use strict';
var mainModule = function(angular) {
var restaurantsApp = angular.module('RestaurantsApplication', []);
};
define(['angular'],
mainModule );
})(window.define);
但我得到相同的结果:角度未定义。
更新
需要js.yml
paths:
"angular" : "angular"
"angular-ui-router" : "angular-ui-router.min"
modules:
- name: 'entry-point'