Sass mit node-sass (Node.js): Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Links == https://webdesign.tutsplus.com/tutorials/watch-and-compile-sass-in-five-quick-steps--cms-28275 == Quickstart == === Installation === * Node.js mit…“)
 
Zeile 6: Zeile 6:
 
* Node.js mit dem npm Paketmanager sollte installiert sein
 
* Node.js mit dem npm Paketmanager sollte installiert sein
 
* node-sass Installieren falls noch nicht vorhanden:
 
* node-sass Installieren falls noch nicht vorhanden:
npm install node-sass
+
npm install node-sass
 +
 
 +
=== Tutorial: Ein Projekt mit SASS und dem NodeJS Server  ===
 +
Ziel ist ein einfach aber effektiv zu handelndes Projekt ohne die Nutzung von gulp.js nur '''mit npm Skripten'''.
 +
==== Basis Struktur ====
 +
* Projektordner anlegen z.B.:
 +
mkdir www && cd www
 
* Im Projektordner NPM Initialisieren (erstellt ein package.json File)
 
* Im Projektordner NPM Initialisieren (erstellt ein package.json File)
 
  npm init
 
  npm init
 +
* css und scss und bin Ordner anlegen (bin enthält später command line scripte)
 +
mkdir bin public scss && mkdir public/css
 +
* main scss File
 +
touch scss/main.scss
 +
==== Dependencies und Sass Watcher ====
 +
npm install -D node-sass nodemon
 +
* Mit der -D Option schreibt npm die a '''Abhängigkeit in das package.json'''
 +
* node-sass wrappt die Libsass Bibliothek und kompiliert später die scss Dateien zu css Dateien
 +
* nodemon überwacht normalerweise Änderungen an Serverseitigem Node.js Code und '''überwach'''t in unserem Fall, '''ob sich ein scss File ändert'''
 +
* Dummy scss
 +
<pre>
 +
$badass: #bada55;
 +
body {
 +
  margin: 0;
 +
  background-color: $badass;
 +
}
 +
</pre>
 +
==== Kompilieren ====
 +
Skripte im Package.json erweitern:
 +
<pre>
 +
“scripts”: {
 +
  “build-css”: “node-sass --include-path scss scss/main.scss  public/css/main.css”
 +
},
 +
</pre>
 +
..un Testen
 +
npm run build-css
 +
Das funktioniert schon mal. Als nächstes ein Watcher, damit sich das css jedesmal bei Änderungen des scss Files '''automatisch kompiliert''':
 +
==== Watcher ====
 +
Wir erweitern unser Package.json mit einem watch-css Skript
 +
<pre>
 +
“scripts”: {
 +
“build-css”: “node-sass --include-path scss scss/main.scss public/css/main.css”,
 +
“watch-css”: “nodemon -e scss -x \”npm run build-css\””
 +
},
 +
</pre>
 +
Ausführen.
 +
npm run watch-css
 +
Jetzt wird automatisch kompiliert...
 +
==== Aufräumen ====
 +
Wir können die beiden Skripte build-css und watch-css auslagern. Dann wird alles aufgeräumter. Dazu legen wir zwei Dateien (ohne Suffix) an:
 +
 +
bin/build-css
 +
node-sass --include-path scss scss/main.scss public/css/main.css
 +
bin/watch-css
 +
nodemon -e scss -x “npm run build-css”
 +
 +
Ausführbar machen:
 +
chmod +x bin/build-css
 +
chmod +x bin/watch-css
 +
 +
Und das Package.json anpassen:
 +
<pre>
 +
“scripts”: {
 +
“build-css”: “./bin/build-css”,
 +
“watch-css”: “./bin/watch-css”
 +
},
 +
</pre>
 +
 +
==== Snippets für Varianten ====
 
* Script Teil in package.json erweitern
 
* Script Teil in package.json erweitern
 
<pre>
 
<pre>

Version vom 4. Juli 2018, 07:01 Uhr

Links

https://webdesign.tutsplus.com/tutorials/watch-and-compile-sass-in-five-quick-steps--cms-28275

Quickstart

Installation

  • Node.js mit dem npm Paketmanager sollte installiert sein
  • node-sass Installieren falls noch nicht vorhanden:
npm install node-sass

Tutorial: Ein Projekt mit SASS und dem NodeJS Server

Ziel ist ein einfach aber effektiv zu handelndes Projekt ohne die Nutzung von gulp.js nur mit npm Skripten.

Basis Struktur

  • Projektordner anlegen z.B.:
mkdir www && cd www 
  • Im Projektordner NPM Initialisieren (erstellt ein package.json File)
npm init
  • css und scss und bin Ordner anlegen (bin enthält später command line scripte)
mkdir bin public scss && mkdir public/css
  • main scss File
touch scss/main.scss

Dependencies und Sass Watcher

npm install -D node-sass nodemon
  • Mit der -D Option schreibt npm die a Abhängigkeit in das package.json
  • node-sass wrappt die Libsass Bibliothek und kompiliert später die scss Dateien zu css Dateien
  • nodemon überwacht normalerweise Änderungen an Serverseitigem Node.js Code und überwacht in unserem Fall, ob sich ein scss File ändert
  • Dummy scss
$badass: #bada55;
body { 
  margin: 0; 
  background-color: $badass; 
}

Kompilieren

Skripte im Package.json erweitern:

“scripts”: {
  “build-css”: “node-sass --include-path scss scss/main.scss   public/css/main.css”
},

..un Testen

npm run build-css

Das funktioniert schon mal. Als nächstes ein Watcher, damit sich das css jedesmal bei Änderungen des scss Files automatisch kompiliert:

Watcher

Wir erweitern unser Package.json mit einem watch-css Skript

“scripts”: {
 “build-css”: “node-sass --include-path scss scss/main.scss public/css/main.css”,
 “watch-css”: “nodemon -e scss -x \”npm run build-css\””
},

Ausführen.

npm run watch-css

Jetzt wird automatisch kompiliert...

Aufräumen

Wir können die beiden Skripte build-css und watch-css auslagern. Dann wird alles aufgeräumter. Dazu legen wir zwei Dateien (ohne Suffix) an:

bin/build-css

node-sass --include-path scss scss/main.scss public/css/main.css

bin/watch-css

nodemon -e scss -x “npm run build-css”

Ausführbar machen:

chmod +x bin/build-css
chmod +x bin/watch-css

Und das Package.json anpassen:

“scripts”: {
 “build-css”: “./bin/build-css”,
 “watch-css”: “./bin/watch-css”
},

Snippets für Varianten

  • Script Teil in package.json erweitern
"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "scss": "node-sass --watch scss -o css"
}

node-sass: Refers to the node-sass package.

--watch: An optional flag which means “watch all .scss files in the scss/ folder and recompile them every time there’s a change.”

scss: The folder name where we put all our .scss files.

-o css: The output folder for our compiled CSS.

When we run this script it will watch every .scss file in the scss/ folder, then save the compiled css in css/ folder every time we change a .scss file.

5. Run the Script To execute our one-line script, we need to run the following command in the terminal:

npm run scss

And voila! We are watching and compiling SASS.