AngularJS-缩小错误
AngularJS - minification error
我正在尝试缩小我的angular应用程序中的js文件。我知道在依赖注入和缩小方面有一些问题,但我觉得我遵循了我在互联网上找到的最佳实践。
这是我的代码结构:
我的提供商:
function myPvdr() {
this.getUrl = function() {
return 'http://some/api/call';
};
this.$get = function($q, $http) {
var self = this;
return {
getData: function(points) {
var d = $q.defer();
$http({
method: 'GET',
url: self.getUrl(),
cache: true
}).success(function(data) {
d.resolve(data);
}).error(function(err) {
d.reject(err);
});
return d.promise;
}
}
}
}
我的控制器:
function myCtrl($scope, MyProvider, localStorageService) {
// some code
}
我的模块:
angular.module('myApp', ['LocalStorageModule', 'ngAnimate'])
.provider('MyProvider', myPvdr)
// Loading controllers into the module
.controller('myCtrl', ['$scope', 'MyProvider', 'localStorageService', myCtrl])
未经修饰时效果良好。但在使用grunt的丑陋任务后,我在控制台上打印了以下错误:
Error: [$injector:unpr] http://errors.angularjs.org/1.3.0-rc.2/$injector/unpr?p0=aProvider%20%3C-%20a%20%3C-%20MyProvider
我做错了什么?
您没有确保代码的最小化安全:
有两种选择,$injecting或在声明函数时内联添加它,并使用带引号的数组(引号中的东西不会缩小)
https://docs.angularjs.org/tutorial/step_05
在控制器函数上创建$inject属性,该属性包含一个字符串数组。数组中的每个字符串都是要为相应参数注入的服务的名称。在我们的例子中,我们会写:
function PhoneListCtrl($scope, $http) {...}
PhoneListCtrl.$inject = ['$scope', '$http'];
phonecatApp.controller('PhoneListCtrl', PhoneListCtrl);
使用内联注释,其中不只是提供函数,而是提供数组。此数组包含一个服务名称列表,后跟函数本身。
function PhoneListCtrl($scope, $http) {...}
phonecatApp.controller('PhoneListCtrl', ['$scope', '$http', PhoneListCtrl]);
如果您已经在使用grunt,请考虑使用grunt-ng注释任务。ng注释是一个工具,可以在需要的地方自动插入适合缩小的语法。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- Uglify JS错误:意外字符''连接时,请缩小select2
- 将 JS 错误行号映射到未缩小的非捆绑资产文件
- 角度 JavaScript 缩小导致错误:$injector:modulerr 模块错误
- 即使我正在使用未缩小的文件,ReactJS 也出现缩小错误
- 调试JavaScript缩小错误(在Liferay 6.2中)
- 角度:'错误:areq错误参数'由于缩小
- 如何在 AngularJS 中使用 $controller 时消除缩小错误
- 如何修复角度缩小生成后的注入器错误
- AngularJS-缩小错误
- 如何缩小famous.angular而不出现DI错误
- Web编译器:JavaScript文件>100KB缩小错误
- 我如何采取一个缩小的javascript堆栈跟踪,并运行它对源映射,以获得适当的错误
- Gulp 缩小了 js 抛出错误
- 在哪里在 JS 中添加分号以防止缩小错误