AngularJS模块化——我的模块可以';找不到,我做错了什么?
我以前的结构是app/controllers、app/services、app/directives等,所有控制器都在controllers目录中,以此类推 现在我试图利用模块化,但我遇到了麻烦。我本应该一个接一个地做,但现在我没有测试任何:D就把它们都做了 这是我的错误,对每个模块重复相同的操作: angular.js:68未捕获错误:[$injector:nomod]模块“app.login”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数 有人能解释一下我遗漏了什么/误解了什么/做错了什么吗 我目前的结构是:AngularJS模块化——我的模块可以';找不到,我做错了什么?,angularjs,Angularjs,我以前的结构是app/controllers、app/services、app/directives等,所有控制器都在controllers目录中,以此类推 现在我试图利用模块化,但我遇到了麻烦。我本应该一个接一个地做,但现在我没有测试任何:D就把它们都做了 这是我的错误,对每个模块重复相同的操作: angular.js:68未捕获错误:[$injector:nomod]模块“app.login”不可用!您要么拼错了模块名,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数 有人能解释
app
login
login.controller.js
login.js
login.html
signup
signup.controller.js
signup.js
signup.html
common
services
auth.service.js
filters
directives
app.js
。。。等等
在app.js中,我有:
(function () {
'use strict';
angular
.module('app', [
// Third Party Plugins
'ui.router', 'permission', 'satellizer', 'angular-loading-bar',
// Auth Modules
'app.login', 'app.signup', 'app.logout', 'app.passwordForgot', 'app.passwordReset'
])
// rest of code....
})();
在我所有的模块中,我都有类似的结构。下面是login.js:
(function() {
'use strict';
angular
.module('app.login')
.config(['$stateProvider', Config]);
function Config($stateProvider) {
$stateProvider
.state('login', {
url: '/login',
data: {
permissions: {
except: ['isLoggedIn'],
redirectTo: 'dashboard.home'
}
},
templateUrl: 'app/login/login.html',
controller: 'LoginController as login'
});
}
})();
在我的index.blade.php(使用Laravel作为后端)中,我有:
您忘记了模块方法调用中的[](在您的情况下,您试图获取模块,而不是创建模块)
angular
.module('app.login',[])
.config(['$stateProvider',config])代码>像这样定义角度模块angular.module('app.login',[])
。你基本上得到的是am injector错误,因此要么定义错误,要么你的rootmodule找不到模块对象。你是对的,我读了文档,不得不放一个空数组来定义它。如果上述方法不起作用,那么试着对js文件的路径进行编码。这是喷油器将依赖的另一个位置-用于添加模块文件。确保正确的顺序-最好是在出现错误时“[]”起了作用。直接从文档:--谢谢。如果这个答案解决了你的问题,你能把它标记为已回答吗?
<script type="text/javascript" src="{{ asset('bower_components/angular/angular.js') }}"></script>
<script type="text/javascript" src="{{ asset('bower_components/angular-ui-router/release/angular-ui-router.js') }}"></script>
<script type="text/javascript" src="{{ asset('bower_components/satellizer/satellizer.js') }}"></script>
<script type="text/javascript" src="{{ asset('bower_components/angular-permission/dist/angular-permission.js') }}"></script>
<script type="text/javascript" src="{{ asset('bower_components/angular-jwt/dist/angular-jwt.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('bower_components/angular-loading-bar/build/loading-bar.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/app.js') }}"></script>
<!-- Common -->
<script type="text/javascript" src="{{ asset('app/common/services/authService.js') }}"></script>
<!-- Login -->
<script type="text/javascript" src="{{ asset('app/login/login.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/login/login.controller.js') }}"></script>
<!-- Signup -->
<script type="text/javascript" src="{{ asset('app/signup/signup.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/signup/signup.controller.js') }}"></script>
<!-- Logout -->
<script type="text/javascript" src="{{ asset('app/logout/logout.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/logout/logout.controller.js') }}"></script>
<!-- Password Forgot -->
<script type="text/javascript" src="{{ asset('app/passwordForgot/passwordForgot.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/passwordForgot/passwordForgot.controller.js') }}"></script>
<!-- Password Reset -->
<script type="text/javascript" src="{{ asset('app/passwordReset/passwordReset.js') }}"></script>
<script type="text/javascript" src="{{ asset('app/passwordReset/passwordReset.controller.js') }}"></script>