2013-10-09 11 views
5

kocham Bundling and Minification w ASP.NET MVC 4.5 i używać go dużo.Ręcznie pakiet i minify JS od akcji kontrolera

jednak jeden mały problem jest to, że nasi „Wtyczki” są przechowywane w domenie plików cookie, który jest w osobnym projekcie w moim roztwór Visual Studio.

szukam rozwiązanie, które będzie pozwalają naszym głównym miejscem do żądania i minified dołączonego pliku JS zawierający dowolną liczbę naszych wtyczek z plików cookie miejscu. Coś jak:

http://my.cookieless.domain/plugins.js?include=alpha&include=bravo,charlie 

tej pory, najlepszym rozwiązaniem mogę znaleźć jest użycie 3rd pakowanie w wiązki i bibliotekę minifikacji partii, która wydaje się przesadą rozważa ASP.NET został zbudowany w jeden

Czy możliwe. ręcznie wywołać proces pakowania/oczyszczania ASP.NETs z działania kontrolera wewnątrz?

public JavaScriptResult Index(IList<string> include) 
{ 
    //bundle and minify JS 
} 

Odpowiedz

3

natknąłem to w poszukiwaniu czegoś podobnego, oto rozwiązanie:

public ActionResult DynamicJs() 
{ 
     // Obviously this will be dynamically generated 
     string javaScript = new Minifier().MinifyJavaScript("alert('Hello world!');"); 

     //returns minified javaScript 
     return JavaScript(javaScript); 
} 

samo dotyczy CSS. Może chcesz używać:

new Minifier().MinifyStyleSheet(styleSheet, new CssSettings { ColorNames = CssColor.Hex } 

klasie Minifier jest członkiem Microsoft.Ajax.Utilities, które można uzyskać z pakietu WebGrease Nuget.

+0

Dzięki, ale co z pakietu? Co jeśli chcę zminimalizować wiele plików i połączyć je w jedną odpowiedź? – Stephane

+0

użyć normalny sposób. Pakowanie i minimalizacja MVC. https://docs.microsoft.com/en-us/aspnet/mvc/overview/performance/bundling-and-minification –

Powiązane problemy