Ich bin mir nicht einmal sicher, ob etwas, was ich will, möglich ist, also bitte ich euch, lassen Sie es mich wissen, wenn jemand das vorher gemacht hat. Also, mein Ziel ist, wenn ich auf "Veröffentlichen" -Website in VS2010 klicke, alle Javascript-Dateien in eine komprimierte, selbe mit css und dann in meiner Layout-Datei die Verweise von allen anderen js und css-Dateien auf nur diese beiden zusammenführen Einsen. Ist das machbar? Oder vielleicht ist es machbar, aber in manueller Weise?
Natürlich ist das Ziel hier, nur zwei Aufrufe externer Dateien auf der Website zu haben, aber wenn ich mich entwickle, muss ich alle Dateien sehen, damit ich damit arbeiten kann. Ich denke, ich könnte es manuell vor jedem Push machen, aber ich würde es lieber automatisch mit einem Skript oder etwas machen lassen. Ich habe noch nichts versucht, und ich suche keine fertige Lösung, ich versuche nur, das Problem besser kennen zu lernen und vielleicht ein paar Tipps.
Vielen Dank!
Dies ist eingebaut in ASP.net 4.5 . Aber in der Zwischenzeit sollten Sie sich die folgenden Projekte ansehen.
Scott Hanselman schrieb einen guten Überblick Blog-Post zu diesem Thema vor einer Weile.
Ich habe die Antwort, die Cassette erwähnt, gewählt, aber ich werde diese spezielle Entscheidung ein wenig genauer erläutern. Cassette ist ziemlich konfigurierbar, aber unter der gebräuchlichsten Option können Sie CSS- und Javascript-Ressourcen durch folgende Syntax referenzieren:
%Vor%Sie würden diese dann in Ihren Master- oder Layout-Seiten wie folgt rendern:
%Vor%Während der Entwicklung werden Ihre Skripte und Styles als einzelne Dateien eingefügt, und Cassette versucht Ihnen zu helfen, indem es Änderungen erkennt und versucht, diese Dateien vom Browser neu zu laden. Dieser Ansatz eignet sich hervorragend für das Debuggen in Bibliotheken wie "Knockout", wenn sie etwas tun, was Sie nicht erwarten. Und das Beste daran, wenn Sie die Website starten, ändern Sie einfach die Datei web.config, und Cassette minimiert und bündelt alle Ihre Dateien in so wenige Pakete wie möglich.
Sie finden weitere Details in ihrer Dokumentation (was ziemlich gut ist, aber manchmal hinter der Entwicklung zurückliegt): Ссылка
Sehen Sie sich YUI compressor @ codeplex.com an, das könnte wirklich hilfreich sein.
Was ich vorher getan habe, ist ein Post-Build-Event einzurichten, damit es läuft einfache Batch-Datei, die Ihre Quelldateien minimiert. Wenn Sie sich im Freigabe-Modus befinden (nicht im Debug-Modus), würden Sie auf die minimierten Quelldateien verweisen. Ссылка
Ich habe nichts von der Minification der Veröffentlichung gehört. Ich denke, Verwendung sollte zwischen dynamischer Verkleinerung wie SquishIt oder Kompilierzeit wie YuiCompressor oder AjaxMinifier wählen.
Ich bevorzuge Kompilierzeit. Ich denke nicht, dass es sehr wichtig ist, zeitverändernde Dateien kompilieren zu müssen. Wenn Sie große css / js-Codezeilen haben, können Sie diese Aktion nur für die Kompilierung von Releases wählen und wenn es hilft, diese Dateien nur in den benötigten Build-Konfigurationen zu veröffentlichen.
Ich weiß nicht, ob es irgendeinen Weg gibt, die Funktionalität des 'Veröffentlichen'-Buttons / was auch immer es ist, zu erreichen, aber es ist sicherlich möglich, einen solchen' statischen Build-Prozess 'zu haben.
Persönlich verwende ich Apache ANT
, um genau das zu schreiben, was Sie dort beschrieben haben. Sie entwickeln also auf Ihren unkomprimierten js / html / css-Dateien und wenn Sie fertig sind, rufen Sie wie ant build
auf, was dann Ihre gesamte Webanwendung minimiert, komprimiert, streift und veröffentlicht.
Beispielskript: Ссылка
Tags und Links asp.net-mvc-3 javascript css visual-studio-2010 minify