Ми можемо скомпілювати 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. Ми можемо зробити це за допомогою підстановок.