相关疑难解决方法(0)

使用grunt uglify进行Angularjs缩小导致js错误

在angularjs中,我们将参数作为依赖注入传递.例如,

function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Run Code Online (Sandbox Code Playgroud)

所以当它变得糜烂时,就会变得像

function checkInCtrl(a,b,c,d){
}
Run Code Online (Sandbox Code Playgroud)

现在a,b,c,d将不会被解释为$ scope,$ rootScope,$ location,$ http分别由angular和整个代码无法工作.为此,angularjs提供了一种解决方案,即

checkInCtrl.$inject = ['$scope', '$rootScope', $location', '$http'];
Run Code Online (Sandbox Code Playgroud)

我们可以使用上面的语法注入不同的依赖项.这很好用,直到我没有使用一些自定义角度服务作为依赖.所以,例如,

如果我有类似的东西

function checkInCtrl ($scope, $rootScope, $location, $http){
…..
….
}
Run Code Online (Sandbox Code Playgroud)

它适用于给定的解决方案,但如果我有类似的东西

function checkInCtrl ($scope, $rootScope, $location, $http, customService){
…..
….
}
Run Code Online (Sandbox Code Playgroud)

customService就是这样的

angular.module(customService, ['ngResource'])
                .factory('abc', function($resource) {
                                return $resource('/abc');
                })
Run Code Online (Sandbox Code Playgroud)

它的缩小版本无法通过角度正确解释.

由于我们必须开始项目开发活动,我们无法花费足够的时间来研究问题,我们开始使用控制器而不缩小它们.所以第一个问题是角度是否存在这样的问题,或者我犯了一些错误,并且由于它不起作用?如果存在这样的问题,它的解决方案是什么?

javascript dependency-injection uglifyjs angularjs gruntjs

14
推荐指数
4
解决办法
3万
查看次数