【发布时间】:2016-01-25 18:42:22
【问题描述】:
我有一个 MVC 5 应用程序,它像这样捆绑我的 Angular 应用程序:
var angular = new ScriptBundle("~/App")
.Include("~/App/app.js")
.IncludeDirectory("~/App", "*.js", true);
bundles.Add(angular);
然后在头部渲染,等所有其他资源加载完毕,这里:
(jquery, angular.min.js, other resources)
@Scripts.Render("~/App")
打开将我的 web.config 的调试属性切换为 false:
<compilation debug="false" targetFramework="4.5.2" />
我的 Angular 应用程序的主模块不会加载:
错误:[$injector:nomod] 模块“wdf”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
在您将我链接到有关如何确保 Angular 以缩小形式加载的文档之前,请知道我已经对每个工厂、控制器、服务 [您命名] 进行了三次检查,以了解 AngularJS's documentation 中概述的正确语法.我还将整个 Angular 应用程序缩减为一个文件和一行,以消除可能的其他注入错误:
(function () {
'using strict';
var app = angular.module('wdf', []);
})();
我也一直在 HTML 中声明应用程序:
<!DOCTYPE html>
<html ng-app="wdf" ng-strict-di>
...
即使使用 ng-strict-di ,应用程序也可以在未缩小的情况下完全正常运行。我已经为此苦苦挣扎了好几个小时。我可以挖掘的每个线程基本上都告诉我确保我已经正确声明了所有模块的依赖项,但我很确定我已经考虑过:
-
ng-strict-di没有发现任何我应该更好地编码的东西 - 我已经检查了每一个该死的文件,以确保我遵循了缩小的最佳做法
- 最后,该应用程序甚至无法以最简单的形式运行
【问题讨论】:
标签: javascript angularjs asp.net-mvc minify