我一直试图摆脱以下错误:
错误:$ injector:modulerr模块错误无法实例化模块 ptoApp由于:错误:[$ injector:unpr]
这是我的app.js代码:
angular.module('ptoApp', ['ui.router','ngResource'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
// route for the home page
.state('app', {
url:'dist',
views: {
'header': {
templateUrl : 'views/header.html'
}
}
});
$urlRouterProvider.otherwise('/');
});
这是我的html正文:
<body>
<div id="container">
<div class="header" ui-view="header"></div>
<div class="info" ui-view="info"></div>
<div class="body" ui-view="body"></div>
<div class="secondBody" ui-view="secondBody"></div>
</div>
<!-- build:js scripts/main.js -->
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../bower_components/angular/angular.min.js"></script>
<script src="../bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="../bower_components/angular-ui/build/angular-ui.js"></script>
<script src="../bower_components/angular-resource/angular-resource.min.js"></script>
<script src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="js/app.min.js"></script>
<!-- endbuild -->
</body>
我一直收到以下错误,但我的所有js文件都是bower,似乎正在加载。我不确定我是否遗漏了我应该加载的东西。我也在使用浏览器同步,我不确定是否还会抛出一些东西。所有js文件似乎都加载到index.html文件中。
答案 0 :(得分:1)
您缩小了app.min.js
,但原始app.js
不是缩小安全。
您的.config
行注入依赖项,但没有静态方法来查找这些依赖项。在缩小时,.config(function($stateProvider, $urlRouterProvider) {
将变为类似于.config(function(e, f) {
的内容,并且依赖项的原始标识将丢失。
1)提供要引用的依赖项的字符串名称的内联数组。
.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {...}])
2)使用$inject
属性。
var configFunction = function($stateProvider, $urlRouterProvider){...};
configFunction.$inject = ['$stateProvider','$urlRouterProvider'];
angular.module('ptoApp', ['ui.router','ngResource'])
.config(configFunction);
使用哪种选择主要取决于偏好和编码风格;在大多数示例中,内联方法更常用。