CSS властивості
ГлавнаяGulpПрепроцесинг з використанням Gulp

Препроцесинг з використанням Gulp

256

Ми можемо скомпілювати Sass у CSS через Gulp за допомогою плагіна під назвою gulp-sass . Ви можете встановити gulp-sass у свій проект за допомогою команди npm install, як ми це вже робили для gulp.

Також слід використовувати прапор --save-dev, який гарантує, що gulp-sass буде додано до devDependencies всередині файлу package.json.

$ npm install gulp-sass--save-dev

Перед використанням плагіна нам потрібно підключити gulp-sass з папки node_modules через require, як ми це вже робили з gulp.

<code data-language="javascript">var gulp=require('gulp'); //Підключаємо плагін gulp-sass var sass=require('gulp-sass');

Ми можемо використовувати gulp-sass, замінивши aGulpPlugin() на sass(). Оскільки завдання призначене для компіляції Sass CSS, то назвемо її sass.

<code data-language="javascript">gulp.task('sass', function(){ return gulp.src('source-files') .pipe(sass()) //Використовуємо gulp-sass .pipe(gulp.dest('destination')) });

Для роботи завдання sass їй потрібно надати вихідні файли та місце призначення, тому створимо файл styles.scss у папці app/scss. Цей же файл додамо в метод gulp.src.

Ми хочемо вивести кінцевий файл styles.css до папки app/css, яка буде місцем призначення для методу gulp.dest.

<code data-language="javascript">gulp.task('sass', function(){ return gulp.src('app/scss/styles.scss') .pipe(sass()) //Конвертуємо Sass в CSS через gulp-sass .pipe(gulp.dest('app/css')) });

Тепер слід перевірити, що завдання sass працює бажаним чином. Для цього ми можемо додати функцію Sass у styles.scss.

//styles.scss .testing { width: percentage(5/7); }

Якщо в командному рядку виконати gulp sass, то можна побачити як у app/css з'явився файл styles.css . Крім того, цей файл містить код, при якому запис percentage(5/7) був перерахований у 71,42857%.

/* styles.css */
.testing { width: 71.42857%; }

Тепер ми знаємо, що завдання sass працює!

gulp-sass для перетворення Sass на CSS використовує LibSass . Ця бібліотека працює набагато швидше, ніж методи на основі Ruby. За бажанням ви все одно можете включити методи Ruby, використовуючи gulp-ruby-sass або gulp-compass.

Іноді потрібна можливість одночасної компіляції декількох файлів .scss в CSS. Ми можемо зробити це за допомогою підстановок.