加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – AngularJS无法在发布模式下工作(缩小)

发布时间:2020-12-16 04:07:17 所属栏目:asp.Net 来源:网络整理
导读:我在项目中有AngularJS和Bootstrap的Angular指令,这两个指令都是通过Nuget添加的. 当编译debug =“true”时,一切正常,但是一旦我将编译调试更改为false,Angular就会停止工作,我在Chrome的控制台中收到以下错误: Error: [$injector:unpr] http://errors.angu
我在项目中有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

我所有的其他Javascript / CSS都按预期工作.什么可能导致Angular一旦缩小就停止工作?这是一个已知的问题?

谢谢

解决方法

当编译调试值设置为“false”时,ASP.NET MVC minifies javascript文件. angular tutorial包括关于缩小的说明:

Since Angular infers the controller’s dependencies from the names of arguments to the controller’s constructor function,if you were to minify the JavaScript code for [your] controller,all of its function arguments would be minified as well,and the dependency injector would not be able to identify services correctly.

解决此问题的最常用技术是内联括号表示法,如:

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

这个SO问题解释了缩小安全语法的重要性:Angularjs minify best practice

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读