当我用咕噜缩小我的angularJS项目时,我的注入出现了问题。为了做一个简单的测试,在用npm生成器创建了一个角度项目之后,我尝试对示例做同样的事情,如下所示:
npm install -g generator-angular
yo angular我只是用保龄球来补充一些东西。这是我的首页档案:
{
"name": "angular-test",
"version": "0.0.0",
"dependencies": {
"angular": "1.2.15",
"json3": "~3.2.6",
"es5-shim": "~2.1.0",
"jquery": "~1.11.0",
"bootstrap": "~3.0.3",
"angular-route": "~1.2.15",
"angular-bootstrap": "~0.10.0",
"angular-sanitize": "~1.2.15",
"angular-cookies": "~1.2.15",
"angular-resource": "~1.2.15"
},
"devDependencies": {
"angular-mocks": "1.2.15",
"angular-scenario": "1.2.15"
},
"resolutions": {
"angular": "1.2.6"
}
}然后,我像这样修改了app.js文件:
'use strict';
angular
.module('angularTestApp', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute'
])
.config(['$routeProvider', '$httpProvider', function ($routeProvider, $httpProvider) {
$httpProvider.interceptors.push(function ($q) {
//We don't care about that ...
return {
'responseError': function (rejection) {
if(rejection.status === 401) {
console.log("Unauthorized page. Must redirect to ");
return;
}
return $q.reject(rejection);
}
};
});
}]);如果我欣赏“咕噜服务”的任务,一切都会好起来的。但是,如果我做了一个"grunt构建“,然后尝试通过Apache访问index.html文件,那么我有以下错误:
Uncaught Error: [$injector:unpr] Unknown provider: aProvider <- a <- $http <- $compile
http://errors.angularjs.org/1.2.15/$injector/unpr?p0=aProvider%20%3C-%20a%20%3C-%20%24http%20%3C-%20%24compile 我在几篇文章中读到,我必须使用ngmin任务来缩小规模,但它已经在示例yeoman项目中完成了。我能怎么解决这个问题?
非常感谢
克莱门特
发布于 2014-03-28 16:25:42
如果您查看缩小的scripts.js,您会注意到$q服务获得了最小化的名称"a“。这就是为什么您得到错误消息aProvider是未知的。
必须将$q定义为依赖项并正确注入。
而不是
$httpProvider.interceptors.push(function ($q) {放
$httpProvider.interceptors.push(['$q', function ($q) { ... }]);https://stackoverflow.com/questions/22716913
复制相似问题