Frage

Ich frage mich, ob es einen Weg zu precompile *.less Dateien ( http://www.dotlesscss.org/) mit Visual Studio.

Die Website gibt mir ein dotless.compiler.exe aber ich bin nicht sicher, wie Visual Studio dieser bis haken. Ich bin auf der Suche nach einer Lösung für beide Webforms und ASP.NET MVC.

War es hilfreich?

Lösung

Je nach Build-Umgebung können Sie dotless.Compiler.exe als Build-Task beginnen.

Zum Beispiel mit einer Pre-Build-Aufgabe in Visual Studio (all 1 Zeile):

$(SolutionDir)Tools\dotLess\dotless.compiler.exe -m 
    $(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css

Die Makros ($(SolutionDir) usw.) erlauben ein wenig Flexibilität zu Projekt- und Dateispeicherorte. Anstatt die Standard .less Dateien verwenden, verweisen Sie einfach die neuen .css Dateien in Ihrem Markup.

Andere Tipps

Alle,

Nach der Verwendung von nur etwa alle Alternativen hier diskutiert und nicht zufrieden ist, schrieb ich einen LessCss Compiler Addin für Visual Studio. Es dauert .Weniger Dateien und erzeugt CSS-Dateien nur, wenn die .Weniger Datei ändert. Es nutzt die neueste und größte less.js Compiler.

es in Verwendung finden Sie hier .

die signierte Erweiterung zum Download.

Quellcode hier.

Ich kann es nur auf der Erweiterungsgalerie VS vorgelegt. Hoffentlich wird es bald da sein, aber in der Zwischenzeit bitte installieren (oder kompilieren und installieren) und check it out.

Phil Haack zur Rettung: http : //haacked.com/archive/2009/12/02/t4-template-for-less-css.aspx

Wenn Sie in Ihrer Lösung haben, bei der Kompilierung erzeugte etwas wollen, ist T4 in der Regel die Art und Weise ...

gehen

Hier ist die Lösung kam ich mit, mit MSBuild. Es ist inkrementell, so sollte es nur geschehen, wenn die weniger ändert. Es ist auch richtig behandelt @import.

Fügen Sie zunächst dotless zu einem Projekt mit NuGet. Sie brauchen nicht von der Magie, um sie Ihren web.config fügt hinzu, so können Sie zurückkommen, dass -. Sie verwenden es nur den Compiler ausführbare Datei zu erhalten

Als nächstes fügen Sie Ihre "root" Weniger Dateien auf Ihren .csproj, etwa so:

<ItemGroup>
    <LessCssRootInput Include="example.less" />
</ItemGroup>

Schließlich, fügen Sie diesen Schnipsel an der Unterseite Ihres .csproj:

<ItemGroup>
    <LessCssSubInput Include="**\*.less" Exclude="@(LessCssRootInput)" />
    <LessCssOutput Include="@(LessCssRootInput -> '%(RelativeDir)\%(Filename).css')" />
</ItemGroup>
<Target Name="CompileLessCss" BeforeTargets="Compile" Inputs="@(LessCssRootInput);@(LessCssSubInput)" Outputs="@(LessCssOutput)">
    <Exec Command="&quot;$(SolutionDir)\packages\dotless.1.3.1.0\tool\dotless.compiler.exe&quot; --minify --keep-first-comment @(LessCssRootInput)" />
</Target>

Es gibt auch eine andere Art und Weise zu precompile während der Entwicklung.

Das dotless Projekt verfügt über eine Kommandozeilen-Compiler (dotless.Compiler.exe), die kompilieren und minify die CSS.

Sie können auch die compiler.exe mit dem --watch Parameter verwenden, wo es halten laufen und scannen Sie Ihre Eingabedatei für Änderungen, zu regenerieren, wenn Sie Änderungen an der Datei vornehmen. So machen Sie unabhängig von Visual Studio.

Auf der Suche nach Arbeit mit dotless Ich fand auch diese Bibliothek:

http: / /www.codethinked.com/post/2010/03/17/Bundler-Now-Supports-Css-And-less.aspx

es auf meine eigene Frage hinzufügen, weil sie anderen helfen könnten.

Sie können einen Blick auf Chirpy nehmen wollen. Es hat viel mehr Unterstützung als nur LESS. Ich wünschte, ich hätte es vor gefunden habe, meine eigenen zu schreiben.

Beim Reden, von denen ich schrieb auch ein Visual Studio Custom Build-Tool, das führt die JS-Datei (anstelle des .NET-Port) verwenden Sie einen Blick auf die Quelle nehmen hier: https://github.com/paultyng/JsBuildTools

Oder es ist auch auf der Erweiterungsgalerie unter JsBuildTools .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top