有没有办法自定义Asp.Net MVC4捆绑和放大功能缩小js文件?
意思是,我不想完全关闭缩小,但“按原样”它只是打破AngularJs。
由于AngularJs使用DI和IoC方法在控制器中注入服务,因此:
function MyController($scope) { }
一旦缩小,变成:
function MyController(n) { }
通常这不会是一个问题,但AngularJs使用参数名称来了解要注入的服务。所以$ scope应该保持$ scope,以及角控制器中的任何其他参数。其他一切,如局部变量等,应该正常缩小。
我找不到任何明确的文档,如何配置Mvc4缩小,它似乎很愚蠢的是“全有或没有”,所以我想我错过了一些东西。
谢谢。
解决方法
实际上你可以(并且应该!)写AngularJS代码,所以它是“minification安全”。详细信息在
http://docs.angularjs.org/guide/di的“依赖注释”部分中有所描述,但简言之,对于全局定义的控制器,您可以写:
My injectroller。$ inject = [‘$ scope’];
请注意,全局定义的控制器会污染全局命名空间(有关详细信息,请参阅this),应该避免。如果在模块级上声明一个控制器,您也可以使其小型化安全:
angular.module('mymodule',[]).controller('MyController',['$scope',function($scope){ //controller code goes here }]);