Я вибрав реалізатор node-sass для libsass, оскільки він базується на node.js.
Встановлення node-sass
- (Обов’язкова умова) Якщо у вас немає npm, спочатку встановіть Node.js.
$ npm install -g node-sass
встановлює node-sass глобально -g
.
Сподіваємось, це встановить все, що вам потрібно, якщо не читати libsass внизу.
Як використовувати node-sass із командного рядка та сценаріїв npm
Загальний формат:
$ node-sass [options] <input.scss> [output.css]
$ cat <input.scss> | node-sass > output.css
Приклади:
$ node-sass my-styles.scss my-styles.css
компілює один файл вручну.
$ node-sass my-sass-folder/ -o my-css-folder/
компілює всі файли в папці вручну.
$ node-sass -w sass/ -o css/
автоматично компілює всі файли в папці, щойно файли-джерела змінюються. -w
додає годинник для змін до файлів.
Інші корисні варіанти, такі як "стиснення" @ тут . Командний рядок хороший для швидкого рішення, однак для автоматизації процесу збірки ви можете використовувати програми для запуску завдань, такі як Grunt.js або Gulp.js.
Ви також можете додати наведені вище приклади до сценаріїв npm. Щоб правильно використовувати сценарії npm як альтернативу ковтку, прочитайте цю вичерпну статтю @ css-tricks.com, особливо прочитайте про групування завдань .
- Якщо
package.json
у вашому каталозі проекту немає файлу, його $ npm init
буде створено. Використовуйте його, -y
щоб пропустити питання.
- Додати
"sass": "node-sass -w sass/ -o css/"
до scripts
у package.json
файл. Це повинно виглядати приблизно так:
"scripts": {
"test" : "bla bla bla",
"sass": "node-sass -w sass/ -o css/"
}
$ npm run sass
скомпілює ваші файли.
Як використовувати при ковтку
$ npm install -g gulp
встановлює Gulp глобально.
- Якщо
package.json
у вашому каталозі проекту немає файлу, його $ npm init
буде створено. Використовуйте його, -y
щоб пропустити питання.
$ npm install --save-dev gulp
встановлює Gulp локально. --save-dev
додає gulp
до devDependencies
в package.json
.
$ npm install gulp-sass --save-dev
встановлює gulp-sass локально.
- Налаштуйте глотку для свого проекту, створивши
gulpfile.js
файл у кореневій папці проекту з таким вмістом:
'use strict';
var gulp = require('gulp');
Основний приклад для транспіляції
Додайте цей код до свого gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
gulp.src('./sass/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./css'));
});
$ gulp sass
запускає вищевказане завдання, яке компілює файли .scss у sass
папці та генерує файли .css у css
папці.
Щоб полегшити життя, додамо годинник, щоб нам не довелося складати його вручну. Додайте цей код до свого gulpfile.js
:
gulp.task('sass:watch', function () {
gulp.watch('./sass/**/*.scss', ['sass']);
});
Все готово! Просто запустіть завдання годинника:
$ gulp sass:watch
Як використовувати з Node.js
Як випливає з назви node-sass, ви можете написати власні сценарії node.js для транпіляції. Якщо вам цікаво, перегляньте сторінку проекту node-sass.
А як щодо libsass?
Libsass - це бібліотека, яку потрібно створити таким реалізатором, як sassC або в нашому випадку node-sass. Node-sass містить вбудовану версію libsass, яку він використовує за замовчуванням. Якщо файл збірки не працює на вашій машині, він намагається створити libsass для вашої машини. Цей процес вимагає Python 2.7.x (3.x сьогодні не працює). В додаток:
LibSass вимагає GCC 4.6+ або Clang / LLVM. Якщо ваша ОС старіша, ця версія може не компілюватися. У Windows вам потрібна MinGW з GCC 4.6+ або VS 2013 Update 4+. Також можна побудувати LibSass за допомогою Clang / LLVM для Windows.
node-sass
знаходиться уgulp-sass
залежностях , тому немає необхідності встановлювати його локально.