JMK*_*JMK 7 asp.net-mvc angularjs bundling-and-minification
我在项目中有AngularJS和Bootstrap的Angular指令,这两个指令都是通过Nuget添加的.
当编译debug ="true"时,一切正常,但是一旦我将编译调试更改为false,Angular就会停止工作,我在Chrome的控制台中收到以下错误:
Error: [$injector:unpr] http://errors.angularjs.org/1.2.15/$injector/unpr?p0=nProvider%20%3C-%20n
at Error (native)
at http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:448
at http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:14726
at Object.i [as get] (http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:13802)
at http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:14801
at i (http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:13802)
at r (http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:14014)
at Object.instantiate (http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:14185)
at http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:30669
at http://localhost:10366/bundles/angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1:23558 angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1
(anonymous function) angular?v=Bi8OwYOhmsGdeIKC46ZQQdIHX1faTIVR48lG9QG3GBw1:1
Run Code Online (Sandbox Code Playgroud)
我所有的其他Javascript/CSS都按预期工作.什么可能导致Angular一旦缩小就停止工作?这是一个已知的问题?
谢谢
j.w*_*wer 10
当值设置为时, ASP.NET MVC会缩小javascript文件.该角教程包括本说明关于缩小:compilation debug
"false"
由于Angular将控制器的依赖关系从参数名称推断到控制器的构造函数,如果你要缩小[你的]控制器的JavaScript代码,它的所有函数参数也会被缩小,并且依赖注入器也不能正确识别服务.
解决此问题的最常用技术是内联括号表示法,如:
phonecatApp.controller('PhoneListCtrl', ['$scope', '$http', function($scope, $http) {...}]);
Run Code Online (Sandbox Code Playgroud)
这个SO问题解释了缩小安全语法的重要性:Angularjs缩小了最佳实践
归档时间: |
|
查看次数: |
4084 次 |
最近记录: |