AngularJS app MVC4捆绑刹车应用程序

时间:2016-04-26 19:33:53

标签: angularjs asp.net-mvc asp.net-mvc-4

我正在研究ASP.NET MVC中的一个大的angularJS应用程序, 当我使用脚本标记逐个包含脚本时,一切都可以正常工作,但只要我通过web.optimization启用捆绑和缩小,一些控制器就无法解决并且应用程序停止。

            var scriptBundle = new ScriptBundle("~/bundle/app")
            .Include("~/App/app.js")
            .IncludeDirectory("~/App", "*.js", true);

这是我注册捆绑的方式。在完成第一件事后,我在加载应用程序后在控制台中看到

Error: [$injector:nomod] http://errors.angularjs.org/1.5.5/$injector/nomod?p0=app

并且在一些控制器中我得到以下错误。

Argument 'ControllerName' is not a function, got undefined

这很奇怪,因为当我查看加载脚本时,这个控制器是控制器肯定是加载的。

当声明angularjs控制器时,我使用以下模式。

marketConfigWizardCtrl.$inject = ['$scope', 'close'];
angular.module('PcoreManager').controller('marketConfigWizardCtrl', marketConfigWizardCtrl);

function marketConfigWizardCtrl($scope, close){
}

1 个答案:

答案 0 :(得分:1)

你试过这种模式吗?

var MyController = function($scope, greeter) {
  // ...
}
MyController.$inject = ['$scope', 'greeter'];
someModule.controller('MyController', MyController);

根据文档:https://docs.angularjs.org/guide/di

  

允许缩小器重命名功能参数仍然是   能够注入正确的服务,该功能需要注释   使用$ inject属性。 $ inject属性是一个服务数组   要注射的名字。