我在RequireJS define方法中创建AngularJS模块时遇到问题。
当我参考我需要的ui-router模块时,Angular告诉我:
Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:nomod] Module 'myApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
只有在requireJS依赖列表中定义uiRouter
时才会发生这种情况。
这是我的代码:
require.config({
paths : {
'angular' : "/script/lib/angular",
'uiRouter' :"/script/lib/angular-ui-router",
},
shim : {
'angular': {
exports : 'angular'
},
'uiRouter' : {
deps : ['angular']
}
}
});
define(['angular', 'uiRouter'], function (angular) {
var module = angular.module('myApp', []);
});
如果我从定义依赖关系数组中取出uiRouter
,一切都按预期工作。我做错了什么?
答案 0 :(得分:0)
您需要将ui.router添加到模块中。
define(['angular', 'uiRouter'], function (angular) {
var module = angular.module('myApp', ['ui.router']);
});
编辑:我添加了以下内容:
define('myApp', ['angular', 'uiRouter'], function (angular) {
var module = angular.module('myApp', ['ui.router']);
});