为什么 ngSanitize 依赖项会破坏我的应用程序?

Why does an ngSanitize dependency break my app?

与谁有关,

为了绑定一些 html,请注意,其中将包含 angular 指令,在注入 ngSanitize 依赖项后,我的应用程序停止呈现。关于为什么会发生这种情况的任何想法,以及我的代码是否有任何明显的问题?

TLDR:在引入 ngSanitize 之前一切正常!

工作控制器

angular.module('appName')
 .controller('DecksCtrl', function ($scope, Auth, $http) {. . .

控制器损坏:

angular.module('appName', ['ngSanitize'])
 .controller('DecksCtrl', function ($scope, Auth, $http) {. . .

控制台错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module appName due to: Error: [$injector:unpr] Unknown provider: $stateProvider

谢谢

彼得·沃德

您想将它注入您的 app.js 。在那个自耕农生成器中它的 - appName / client / app / app.js

angular.module('yourapp', [
  //your injections here
 'ngSanitize',
 'other injection',
 'another injection'

]).config(function ($routeProvider, $locationProvider, $httpProvider) {

您在此处声明所有应用依赖项。

您的问题是误解了模块 declaration 和现有模块 reference 之间的区别。

要声明一个模块,有 2 个参数,名称和依赖数组

angular.module('appName', [/* all the dependencies for this module*/]);

然后当您添加组件时,您使用没有第二个依赖参数的模块引用 getter。此 getter returns 用于将组件链接到

的模块对象
angular.module('appName')
 .controller('DecksCtrl', function ($scope, Auth, $http) {. . .

您所做的是尝试将依赖项注入模块引用 getter。这反过来写了那个模块的原始声明