所以我試圖跳過Angular的潮流,我一直負責構建一個SPA,爲此我選擇了帶有ASP.Net MVC Web API的AngularJS(我是一個.Net開發者)。作爲強類型語言的粉絲,我在整個職業生涯中儘可能避免使用JavaScript,但近年來AngularJS和其他庫的插件使得它無法忽視。所以我在這裏,要求一些指導。app.js中的角度初始化錯誤
我觀看了教程,完成了示例代碼項目,並在PluralSight上完成了一些學習,至少從基礎的角度來看,我已經開始工作了。我在MVVM和MVC有豐富的背景,所以SOC對我來說是一件大事。我喜歡Angular提供的MVC類型的結構,這很大程度上是爲什麼我首先走這條路線。
現在讓我來看看我的問題。爲了簡單起見,我正在初始化我的模塊(當前)在我的母版頁(_Layout.cshtml)中,這是我在調整和試驗時所做的。
<script>
angular.module('xcmApp', ['ngRoute', 'ngResource'])
.config(function ($routeProvider) {
$routeProvider
.when('/',
{
controller: 'companiesController',
templateUrl: 'views/companylist.html'
})
.when('/Reports',
{
controller: 'reportsController',
templateUrl: 'views/reportlist.html'
})
.otherwise({ redirectTo: '/' })
})
.factory('companiesFactory', ['$resource',
function ($resource) {
return $resource('/api/companies', {}, {
query: { method: 'GET', params: {}, isArray: true }
});
}
])
.controller('companiesController', function ($scope, companiesFactory) {
$scope.Companies = companiesFactory.query();
});
</script>
但現在我已經準備好轉向更深層次的概念了,我想將我的腳本分解爲適當的文件。也就是說,app.js和相關控制器/工廠/服務等等。但是當我移動該腳本到app.js和_Layout.cshtml引用它,它的錯誤:
<script src="~/app.js"></script>
Error: [$injector:unpr] Unknown provider: a
現在有沒有點當我甚至無法讓app.js正常工作時,繼續觸發控制器文件等等,所以在這裏我被卡住了。我知道這裏有一些非常出色的AngularJS開發者,他們甚至可能在閱讀這些東西之前知道我錯過了什麼,我很感謝您的幫助。
任何能強調我的疏忽的人都會成爲今天的超級明星。提前致謝!
編輯:
這裏是我的堆棧跟蹤:
0x800a139e - JavaScript runtime error: [$injector:modulerr] Failed to instantiate module xcmApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.3.15/$injector/unpr?p0=a
at Anonymous function (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4015:13)
at getService (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4162:11)
at invoke (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4191:9)
at runInvokeQueue (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4109:11)
at Anonymous function (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4118:11)
at forEach (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:323:11)
at loadModules (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4099:5)
at createInjector (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:4025:3)
at doBootstrap (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:1452:5)
at bootstrap (http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js:1473:5)
http://errors.angularjs.org/1.3.15/$injector/modulerr?p0=xcmApp&p1=Error%3A%20%5B%24injector%3Aunpr%5D%20Unknown%20provider%3A%20a%0Ahttp%3A%2F%2Ferrors.angularjs.org%2F1.3.15%2F%24injector%2Funpr%3Fp0%3Da%0A%20%20%20at%20Anonymous%20function%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4015%3A13)%0A%20%20%20at%20getService%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4162%3A11)%0A%20%20%20at%20invoke%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4191%3A9)%0A%20%20%20at%20runInvokeQueue%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4109%3A11)%0A%20%20%20at%20Anonymous%20function%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4118%3A11)%0A%20%20%20at%20forEach%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A323%3A11)%0A%20%20%20at%20loadModules%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4099%3A5)%0A%20%20%20at%20createInjector%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A4025%3A3)%0A%20%20%20at%20doBootstrap%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A1452%3A5)%0A%20%20%20at%20bootstrap%20(http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.js%3A1473%3A5)
提醒:
我的問題不在於它不工作,它的工作。當我將Javascript從我的HTML頁面中取出並放入引用的app.js文件時,它只是停止工作。
你是否採用了棱角分明的縮小版本?如果您使用angular.js的未分化版本,則會得到一個更詳細的錯誤信息,可以幫助您解決問題。 – Dylan
我正在使用unminified Angular://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.js – XamlZealot