SPA: 3. Stylesheets
Node.js und LESS
Wir benutzen LESS als Prefixer und für weitere Zusätze. Ich verwende Webstorm sehr gern für Javascript, CSS und mehr. Um die Dateien auf Änderungen zu überwachen, gibt es in Webstorm eine Option “File Watchers”. Als Ersatz habe ich auch ein eigenes Projekt entwickelt.
Es bietet einige Features mehr und ist Open Source
http://sourceforge.net/projects/luba-filewatcher/
Für Less benötigen wir Node.js
http://nodejs.org/
Nachdem Node.js installiert ist, führen wir folgende Kommandozeile aus.
npm install less
Wir erstellen die Ordner…
~/content/styles/debug
~/content/styles/global
~/content/styles/libs
~/content/styles/views
Wir erstellen die Dateien…
~/content/styles/style.less
Dies ist unsere Hauptdatei. Hier verweisen wir auf alle Unterdateien.
@import "./Global/Normalize";
@import "./Global/Fonts";
@import "./Global/Base";
@import "./Global/Default";
@import "./Views/Index";
@import "./Views/Start";
.Normalize();
.Fonts();
.Default();
.Base();
.Index-View();
.Start-View();
~/content/styles/view/index.less
In der index.less legen wir Eigenschaften für die Hauptansicht fest.
.Index-View() {
.menu {
background-color: green;
}
};~/content/styles/view/start.less
In der start.less legen wir Eigenschaften für die Startansicht fest.
.Index-View() {
#start {
background-color: green;
}
};und so weiter…
Nachdem wir alle nötigen Dateien erstellt haben, konfigurieren wir unseren File Watcher, um diese auch auf Änderungen zu überwachen.


~/App_Start/BundleConfig.cs
Um unseren Stylesheet komprimiert einzubinden, verwenden wir die
MVC BundleConfig.
bundles.Add(new StyleBundle(“~/Content/Styles/css”)
.Include(“~/Content/Styles/style.css”));
~/Views/index.cshtml
In den Header der Hauptansicht fügen wir folgende Zeile ein.
@Styles.Render(“~/Content/styles/css”)