为什么我的 angular 应用程序在调试模式下工作正常,而不是在优化 js 包时
Why my angular app works fine in debug mode and not when js bundle is optimized
我有两个申请 angularjs。我不得不从一个页面中取出一些页面才能迁移到第二个页面。
由于我使用 System.Web.Optimization 激活了捆绑优化,应用程序不再运行。
这是控制台的状态:
at Anonymous function (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:326593)
at t (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:309792)
at b (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:326275)
at yr (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:328292)
at o (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:316546)
at fo (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:317026)
at Anonymous function (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:1121209)
at a (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:36555)
at h.add (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:36865)
at i.prototype.ready (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:12694)
建议?
使用严格的依赖注入
使用 Implicit Annotation,代码会在缩小时中断。
来自文档:
Implicit Annotation
Careful: If you plan to minify your code, your service names will get renamed and break your app.
您可以在与 ng-app
相同的元素上添加一个 ng-strict-di
指令以选择进入严格的 DI 模式。
<body ng-app="myApp" ng-strict-di>
只要服务尝试使用隐式注释,严格模式就会引发错误。
有关详细信息,请参阅
我有两个申请 angularjs。我不得不从一个页面中取出一些页面才能迁移到第二个页面。 由于我使用 System.Web.Optimization 激活了捆绑优化,应用程序不再运行。 这是控制台的状态:
at Anonymous function (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:326593) at t (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:309792) at b (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:326275) at yr (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:328292) at o (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:316546) at fo (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:317026) at Anonymous function (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:1121209) at a (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:36555) at h.add (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:36865) at i.prototype.ready (http://localhost:30100/bundles/vendor.js?v=0CC4LNBLFTXMcD7A3WwKd4pdBcv7gCYsWZTADZBarKU1:1:12694)
建议?
使用严格的依赖注入
使用 Implicit Annotation,代码会在缩小时中断。
来自文档:
Implicit Annotation
Careful: If you plan to minify your code, your service names will get renamed and break your app.
您可以在与 ng-app
相同的元素上添加一个 ng-strict-di
指令以选择进入严格的 DI 模式。
<body ng-app="myApp" ng-strict-di>
只要服务尝试使用隐式注释,严格模式就会引发错误。
有关详细信息,请参阅