一尘不染

Mvc4捆绑,缩小和AngularJS服务

angularjs

有没有一种方法可以自定义Asp.Net MVC4捆绑和缩小功能缩小js文件的方式?

意思是,我不想完全关闭缩小功能,但是“按原样”只会破坏AngularJs。

由于AngularJs使用DI和IoC方法在控制器中注入服务,因此以下内容:

function MyController($scope) { }

一旦缩小,将变为:

function MyController(n) { }

通常,这不是问题,但是AngularJs使用参数名称来了解要注入的服务。因此,$scope和角度控制器中的任何其他参数都应保留为$scope。其他所有内容,例如局部变量等,都应正常缩小。

我找不到任何有关如何配置Mvc4缩小的清晰文档,而且它看起来“全有还是全无”显得有些愚蠢,所以我想我缺少了一些东西。

谢谢。


阅读 166

收藏
2020-07-04

共1个答案

一尘不染

实际上,您可以(并且应该!)编写AngularJS代码,因此它是“最小化的”。有关详细信息,请参见http://docs.angularjs.org/guide/di的“依赖关系注释”部分,但总之,对于全局定义的控制器,您可以编写:

MyController.$inject = ['$scope'];

请注意,全局定义的控制器被污染全局命名空间,应该避免。如果在模块级别上声明控制器,则也可以使其具有最小化安全性:

angular.module('mymodule', []).controller('MyController', ['$scope', function($scope){
//controller code goes here
}]);
2020-07-04