【问题标题】:Error in Dependency Injection when I try minify angular app当我尝试缩小角度应用程序时,依赖注入错误
【发布时间】:2015-09-01 16:14:29
【问题描述】:

我已经完成了一个基于 ASP MVC 和 angularJS 的 Web 应用程序,一切正常。现在,我想部署它。在我的bundleConfig 中,我已将BundleTable.EnableOptimizations = true; 用于缩小我的脚本。

当我启动应用程序时出现错误:

模块“dataService”不可用!你要么拼错了...

在文档中我看到了一件有趣的事情(它适合错误):

小心:如果您计划缩小代码,您的服务名称将被重命名并破坏您的应用程序。

正如文档建议的那样,我使用内联数组注释。我的代码是:

app = angular.module("MyApp", ['ui.router', 'ui.bootstrap', 'kendo.directives', 'dataService', 'LoginFactory', 'globalService']);

在模块dataService中是:

app.service('dataService', ['$http', function($http) {
  // service logic
}]);

我认为这样可以解决错误,但没有。

PS:我见过 3 种不同的注入依赖方法,我都用过。在示例中,我使用它是因为在 docs 中标记为 preferred

【问题讨论】:

  • 您的第一个示例需要一个模块 dataService,您的第二个示例定义了一个服务 dataService。你有一个名为 dataService 的模块吗?
  • 顺便说一句,模块中没有 Service() 方法。
  • @zeroflagL 我认为你不明白。在第一个代码中,我创建了模块应用程序,并使用“dataService”声明了依赖关系。在第二个代码中,我创建了“dataService”服务。就像docs,我认为...
  • angular.module("MyApp" 创建 module MyApp,它依赖于其他 modulesui.router 是一个模块ui.bootstrap 是一个模块。如果第二个示例中的app 与第一个示例中的app 是相同的模块,那么您就完成了。从第一个删除dataService。也许你应该先看看别人的分数,然后再决定写“我不认为你明白”
  • 哦,对不起!我想说“我想我不明白你”。我的英语很糟糕,我不想冒犯你。你是对的,我不得不在第一个例子中删除“dataService”。非常感谢!

标签: angularjs bundle angularjs-injector


【解决方案1】:

app.Service 替换为app.service

【讨论】:

  • 对不起,这是一个语法错误。我现在纠正。但是该错误会导致应用程序在缩小之前无法运行,并且正如我所提到的,该应用程序运行良好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多