gpt4 book ai didi

angularjs - 用 grunt 缩小 angularjs 项目

转载 作者:行者123 更新时间:2023-12-01 07:19:10 26 4
gpt4 key购买 nike

当我用 grunt 缩小我的 angularJS 项目时,我遇到了注入(inject)问题。为了做一个简单的测试,在使用 npm 生成器创建 angular 项目后,我尝试对我们拥有的示例做同样的事情,如下所示:

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 serve”任务,一切都很好。
但是,如果我执行“grunt build”然后尝试通过 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 项目中完成。 Si 请问我该如何解决这个问题?

非常感谢你

克莱门特

最佳答案

如果您查看缩小的 scripts.js,您会注意到 $q 服务获得了缩小的名称“a”。这就是您收到错误消息 aProvider is unknown 的原因。

$q 必须定义为依赖项并正确注入(inject)。

代替

$httpProvider.interceptors.push(function ($q) {


$httpProvider.interceptors.push(['$q', function ($q) { ... }]);

关于angularjs - 用 grunt 缩小 angularjs 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22716913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com