Sass mit node-sass (Node.js): Unterschied zwischen den Versionen
(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.