2014-02-21 2 views
5

WebGrease ist eine Assembly in MVC4, aber kann es wie Yahoo.Yui.Compressor verwendet werden? Ich möchte webgrease.dll in einem C# -Konsolenprogramm verwenden und eine JavaScript-Zeichenfolge in eine andere komprimieren.Wie benutze ich webgrease?

class Program 
    { 
     static void Main(string[] args) 
     { 
      Yahoo.Yui.Compressor.JavaScriptCompressor c = new Yahoo.Yui.Compressor.JavaScriptCompressor(); 
      string s = "function hello (name) { return 'hello '+ name + '!'; }"; 
      s = c.Compress(s); 
      Console.WriteLine(s); 
     } 
    } 

Antwort

8

Es ist möglich und ziemlich einfach. Sie können WG.EXE in Ihrem Visual Studio-Ordner finden. WG.EXE ist eigentlich der Befehlszeilen-Minifier, der dieselben Minifikationsbibliotheken aufruft. Sie können es über die Befehlszeile oder von MSBuild oder von einem Skript Ihrer Wahl verwenden, um die Verkleinerung durchzuführen.

Hier ist ein guter Artikel geschrieben von WG-Team, wie WG zu verwenden, von der Kommandozeile: http://kenhaines.net/post/2012/06/09/WebGrease-As-seen-in-Visual-Studio-2012.aspx

Sie auch https://webgrease.codeplex.com/documentation

für Detailinformationen

überprüfen können
1

Es sollte möglich sein - wenn Sie webgrease mit NuGet sind, können Sie auch die „WG“ Kommandozeilen-Tool erhalten, das genau das tut, was Sie oben versuchen zu erreichen. Code für die Webgrease-DLL und das WG-Dienstprogramm sind unter CodePlex verfügbar. Es sind keine spezifischen ASP.Net-DLL-Referenzen darin enthalten.

Wenn Sie ILSpy oder Reflector haben, schauen Sie im Code für "WebGrease.Program.ProcessJsFileSet" nach, wie man Javascript komprimiert. Die Klasse WebGrease.Activities.MinifyJSActivity wird verwendet, und Sie können diese auch auf CodePlex sehen.