Gulp 基础介绍 gulp-sass DAY80

今天要来介绍 gulp-sass 如何安装与使用

gulp-sass 介绍
https://www.npmjs.com/package/gulp-sass

安装:

  1. 终端机输入 npm install gulp-sass --save
    node-sass 为 gulp-sass 的相依套件,安装 gulp-sass 的同时会连同 node-sass 一起安装
    代表本地端只须执行安装 gulp-sass 的指令即可。
    https://ithelp.ithome.com.tw/upload/images/20201122/20123039MKoCA633Rt.jpg

  2. 载入 gulp-sass 套件
    https://ithelp.ithome.com.tw/upload/images/20201122/201230390aNtqPveZn.jpg

gulp.task('sass', function () {
    return gulp.src('./source/scss/**/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./public/css'));
});

这里输入完後 在终端机输入 gulp sass
会发现 我们的 scss档会编译成 css档并放在 css资料夹内
4. watch 监控
监控 "./source/scss/**/*.scss " 此资料夹

若内容有变更 则执行後面 ['sass'] 指令

gulp.task('watch', function () {
    gulp.watch('./source/scss/**/*.scss', ['sass']);
});

接着在终端机 输入 gulp watch
会发现
假如我们有变更 scss档的内容
ex:

$primary-color : red;
body{
    background-color: $primary-color;
}

改成 blue
会即时的监控并输出css档

scss:

$primary-color : blue;
body{
    background-color: $primary-color;
}

css:

body {
  background-color: blue; }

那现在我们已经有 3个任务了(jade sass watch)
我们可以把任务合并

gulp.task('default',['watch','jade','sass']);

然後在终端机 输入 gulp
就可以一次执行这三个任务啦~~

不过 gulp 停止的方式有两个状况
一个是我们在终端机 输入 ctrl +c
一个是编译错误 会自动停止

但假如我们不想要它停止
可以再安装另一个套件
gulp-plumber

  1. npm install gulp-plumber --save
  2. 加入 var plumber = require('gulp-plumber');
  3. 在资料来源下补上 .pipe(plumber())

最後附上今天介绍的程序码

var gulp = require('gulp');
var jade = require('gulp-jade');
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');

gulp.task('jade', function() {
    gulp.src('./source/**/*.jade')
    .pipe(plumber())
    .pipe(jade({
        pretty: true
    }))
    .pipe(gulp.dest('./public/'))
});
gulp.task('sass', function () {
    return gulp.src('./source/scss/**/*.scss')
    .pipe(plumber())
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./public/css'));
});
gulp.task('watch', function () {
    gulp.watch('./source/scss/**/*.scss', ['sass']);
});
gulp.task('default',['jade','sass','watch']);

那今天的介绍就到这里
若有任何问题 或 内容有误
都可以跟我说唷/images/emoticon/emoticon41.gif


<<:  TCB存取控制

>>:  [Angular] Forms - Control Value Accessor [上]

Day27-保护鲸鱼人人有责(二)

前言 昨天已经介绍了几个写 Dockerfile 时该注意的地方,但其实需要注意的地方非常非常多,所...

Proxmox VE 客体机线上迁移

当 Proxmox VE 丛集建立完成以後,除了方便的多节点单一介面管理的好处之外,最令人开心的就...

方法论(Know how):隐藏在程序书背後的系统逻辑与资讯汇整方法

把一件事情从现象上升到逻辑,再上升到方法,再到一整套方法体系,这个过程,就叫「方法论」。 不是每一个...

Vmware wifi连不上

大家好,我使用VMware® Workstation 16 Pro 16.1.0,安装xp sp3,...