角度 JavaScript 缩小导致错误:$injector:modulerr 模块错误
Angular javascript minification cause Error: $injector:modulerr Module Error
当我像下面这样定义角度时,它会导致使用缩小这个javascript的问题,这是错误:$injector:modulerr模块错误。
angular.module('myModule').controller('MyController', function ($scope) {
});
现在,如果我把我的角度写成下面,缩小后就没事了。
angular.module('myModule').controller('MyController', ["$scope", function ($scope) {
}]);
在缩小过程中,第一种方法会将$scope转换为其他变量名,看起来像是问题所在。有没有办法避免不编写代码作为第二种情况?
您可以使用
$inject
:
function MyController($scope) {
}
MyController.$inject = ['$scope'];
angular.module('myModule').controller('MyController', MyController);
如果你有某种构建过程(或者你想引入一个很小的过程),请查看ng-annotate
项目(https://github.com/olov/ng-annotate)。它是一个处理你的javascript代码的工具,帮助你避免重复自己。它所做的基本上是读取代码的第一个版本并为您生成一个$inject属性,如 Pedro Nascimento 的答案所示。
有几个用于grunt,gulp,webpack等的插件,但是如果您还没有构建过程,那么使用这个模块也很容易。
你有这个Grunt:https://www.npmjs.com/package/grunt-ng-annotate我很确定你可以为webpack/gulp等找到同样的东西......
相关文章:
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 错误:$injector:modulerr加载图像时模块处于角度
- Karma Jasmine角度错误:[$injector:nomod]
- 为什么我得到错误:$injector:unp未知提供程序
- 未捕获的错误: [$injector:modulerr] http ..(使用纯 HTML)
- 角度.js:38未捕获错误:[$injector:模块rr]
- 在出厂时注入服务错误: [$injector:unpr] 未知提供程序: $scopeProvider <- $scop
- 未捕获的错误: [$injector:modulerr] - 角度 ng-include
- AngularJS错误:$injector:unp未知提供程序-$modalInstanceProvider
- Angular小部件中的Angular Grid返回错误:[$injector:unp]未知提供程序:
- 未捕获错误:[$injector:modulerr](新手)
- 错误:$injector:unp未知提供者:未知提供者:bProvider<-b
- AngularJS错误:$injector:modulerr我的浏览器窗口中出现模块错误
- Angular应用程序无法安装,原因是出现错误:[$injector:modulerr]
- angular.js:13294错误:[$injector:unp]未知提供程序:cityResourceProvide
- AngularJS-未捕获错误:[$injector:nomod]
- ionic.bundle.js:25642错误:[$injector:unp]未知提供程序:$cordovaGeoloc
- 角度错误: [$injector:模块rr] 由于以下原因无法实例化模块角度图表: 错误: [$injector:nom
- 错误:[$injector:模块rr] 与角度 JS [GULP CONTEXT]
- 由于以下原因,无法实例化模块 myApp:错误:[$injector:nomod] http://errors.angu