当我使用grunt构建它时,我的角度项目运行良好。但是当我编译它时(缩小javascripts并将它们加在一起)我看到了一个错误。我怎么知道这是什么问题?调试缩小文件太困难了。
如果有人遇到类似的情况,请说明问题。提前谢谢。
答案 0 :(得分:1)
就像@Sirko建议的那样,使用源地图是一种有效的方法来跟踪它。
但是,当一个Angular项目在缩小时失败时,最常见的罪魁祸首是依赖注入。
例如,让我们说你有一个控制器:
module('test').controller('TestCtrl', function($scope, $location) {
$scope.foo = 100;
});
缩小器将把它变成:
module('test').controller('TestCtrl', function(a, b) {
a.foo = 100;
});
现在注射破了!有几种解决方案,但最常见的是传入一个数组:
module('test').controller('TestCtrl', ["$scope", "$location", function($scope, $location) {
$scope.foo = 100;
}]);
另一种常见方法是将$inject
添加到您的函数中:
module('test').controller('TestCtrl', TestCtrl);
function TestCtrl($scope, $location) {
$scope.foo = 100;
};
TestCtrl.$inject = ["$scope", "$location"];
如果您已经在做这样的事情,请返回并仔细检查一切是否正常。有一些方法可以自动化它。如果它仍在发生,你在控制台中会得到什么错误?