2013-07-01 4 views
2

Есть ли способ настроить вывод minfier/bundler JavaScript, который поставляется с .NET 4.5 (Microsoft.Web.Optimization) с различными параметрами мини-настройки? Например, я хочу разрешить переименование локальной переменной, но не разрешать переименование аргумента функции.Настройка .NET 4.5 bundler/minifier

В качестве фона я пытаюсь представить приложение AngularJS в .NET-приложении и хочу иметь возможность использовать инфраструктуру связывания/минимизации, которая поставляется с .NET 4.5. Я не хочу, чтобы переименование аргументов функции происходило, поскольку AngularJS использует имена аргументов для выполнения инъекции зависимостей.

+0

Дубликат http://stackoverflow.com/questions/14909541/mvc4-bundling-minification-and-angularjs- услуги – drzaus

ответ

2

AngularJs уже может справиться с этим для вас с помощью опции [] синтаксиса при создании до controllers или других угловых услуг

app.controller("MyCtrl", function($scope, $http){}); 

становится

app.controller("MyCtrl", ["$scope", "$http", function($scope, $http){ 
}]; 

Или через $inject

var myCtrl = function($scope, $http){}; 

myCtrl.$inject = ['$scope', '$http']; 

Doing это позволяет знать, какие части нужно вводить, даже когда js будет уменьшен.

+1

Thanks Mark. Я пытаюсь избежать написания myCtrl. $ Inject для каждого контроллера, так как он выглядит как шаблонный код ради minifier. Плюс мы также должны написать дополнительный код, который добавляет размер JavaScript. Поэтому задается вопросом, есть ли возможность настроить это (как применить переименование аргумента функции) в самой платформе веб-оптимизации .NET. – govin

1

Аналогичный, но более старый вопрос указывает, что вы можете изменить преобразование для определенного пакета, чтобы избежать переименования.

System.Web.Optimization making function argument names stay the same for certain functions

Не уверен, что если это все еще применяется +1 год спустя ...