javascript - 如何测试缩小后的文件?

标签 javascript angularjs

当我使用 grunt 构建它时,我的 Angular 项目运行良好。但是当我编译它时(缩小 JavaScript 并将它们全部连接在一起),我看到了一个错误。我怎么知道问题是什么?调试缩小的文件太困难了。

如果有人面临类似的情况,请提出建议。提前致谢。

最佳答案

就像 @Sirko 建议的那样,使用源映射是追踪此问题的有用方法。

但是,当 Angular 项目在缩小方面失败时,最常见的罪魁祸首是依赖注入(inject)。

例如,假设您有一个 Controller :

module('test').controller('TestCtrl', function($scope, $location) {
  $scope.foo = 100;
});

缩小器会将其变成:

module('test').controller('TestCtrl', function(a, b) {
  a.foo = 100;
});

现在你的注入(inject)坏了!有多种解决方案,但最常见的是传入数组:

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"];

如果您已经在做类似的事情,请返回并仔细检查一切是否都正确执行。也有一些方法可以使其自动化。如果仍然发生,控制台中会出现什么错误?

关于javascript - 如何测试缩小后的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962132/

相关文章:

javascript - Angular JS如何观看 "Only One Property"

javascript - 调整对象大小时的 Fabric.js 线条渲染

javascript - http 请求的成功处理程序不调用函数

javascript - 如何使动态创建的单选按钮成为必需的 - AngularJs

javascript - Angular 矩无法通过 dom 注入(inject)起作用

javascript - Angular next 和 prev 导航数学逻辑

javascript - TypeError 'thing' 未定义,带有 javascript 实例

javascript - jQuery 是否提供了传统计时器的替代方案 - 图像交换

javascript - 如果该索引位置存在元素,如何更新 javascript 数组?

javascript - Bootstrap 4 - 重定向到特定选项卡