[asp.net-mvc]AngularJS 不工作在发布模式下 (缩小)

发布时间: 2016/10/9 6:13:34
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 AngularJS 和角指令引导在项目中,这两个国家已通过 Nuget。

编译调试 ="true",一切工作正常,但是一旦我更改为false编译调试,角停止工作,和我在 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

所有我其他 Javascript 和 CSS 按预期方式工作。是什么导致角停止工作一次缩小?这是一个已知的问题吗?

谢谢你

解决方法 1:

ASP.NET MVC人财物 javascript文件时 compilation debug 值设置为 "false"角的教程包括本关于缩小的说明︰

因为角推断控制器的依赖关系的参数的名称到控制器的构造函数,如果你要缩小的 JavaScript 代码为 [您] 的控制器,其所有函数参数会以及缩小和依赖注入器将不能正确识别服务。

为了克服这个问题的最常见的技术是内联括号表示,像︰

phonecatApp.controller('PhoneListCtrl', ['$scope', '$http', function($scope, $http) {...}]);

此等问题阐述了缩小安全语法的重要性︰ Angularjs 缩小最佳实践

官方微信
官方QQ群
31647020