Rails 4 プロジェクトのクライアント側モジュール間の依存関係を管理するために、requirejs-rails を使用しています。
私のエントリポイントは次のとおりです。
(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);
しかし、同じ結果が得られます。角度は未定義です。
更新しました
requirejs.yml
paths:
"angular" : "angular"
"angular-ui-router" : "angular-ui-router.min"
modules:
- name: 'entry-point'