這篇筆記下用 gulp-postcss、autoprefixer……等等套件,節省你的時間和加強瀏覽器相容性。
加強 CSS 相容性
由於瀏覽器的相容性彼此之間不相同,有可能在 CSS 的解讀上,需要加上一些前綴詞,那麼 autoprefixer 和 gulp-postcss 搭配,可以協助你快速的解決問題。
gulp-load 可以更方便啟用
“gulp-“開頭的套件,若你將 $ = require(‘gulp-load-plugins’)() 的話,那麼加上 “$” 號就可以使用。
運用 Babel 套件,讓JS程式碼可以向下相容
gulp-babel 和 babel-preset 2015 搭配使用,可以讓 ES6 的語法相容於成 ES5 以下格式,同時也可以合併不同的 JS 檔、新增 sourceMap 功能,讓日後除錯可以輕鬆得知原始位置。
Babel 的安裝方式會隨著版本更新,請參閱這邊:https://www.npmjs.com/package/gulp-babel
程式碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
const gulp = require('gulp'); const $ = require('gulp-load-plugins')() /*after installing gulp-load-plugins, all package name with prefix, gulp, can be trigger by using '$'*/ // const jade = require('gulp-jade'); // const sass = require('gulp-sass'); // const plumber = require('gulp-plumber'); // const postcss = require('gulp-postcss'); const autoprefixer = require('autoprefixer'); /*add task*/ gulp.task('copyHTML',()=>{ return gulp.src('./source/**/*.html') .pipe(gulp.dest('./public/')) }) /*don't forget return*/ gulp.task('jade', ()=>{ return gulp.src('./source/*.jade') .pipe($.plumber()) .pipe($.jade({ pretty:true //with full tags })) .pipe(gulp.dest('./public/')) }); gulp.task('sass', ()=>{ return gulp.src('./source/scss/**/*.scss') .pipe($.plumber()) .pipe($.sass().on('error', $.sass.logError)) .pipe($.postcss([autoprefixer()])) .pipe(gulp.dest('./public/css')); }); gulp.task('babel', () =>{ return gulp.src('./source/js/**/*.js') .pipe($.sourcemaps.init()) .pipe($.babel({ presets: ['@babel/env'] })) .pipe($.concat('all.js')) .pipe($.sourcemaps.write('.')) .pipe(gulp.dest('./public/js')) }); /*watch your files*/ gulp.task('watch', ()=>{ gulp.watch('./source/*.jade', gulp.series('jade')); gulp.watch('./source/scss/**/*.scss', gulp.series('sass')); gulp.watch('./source/js/**/*.js',gulp.series('babel')) }); /*task lists by follows*/ gulp.task('default', gulp.series('jade', 'sass', 'babel','watch')); |
參考課程
Course 14 ~ Course 20 (全部一共有 48 Courses)
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。課程連結網址:http://tinyurl.com/y9fp69lb
相關文章
★全文分享★ [指南] 前端自動化開發 Gulp + PHP + Browserify
雖說使用 Gulp 搭配 Browserify 可以成功在前
★全文分享★ [指南] 前端自動化開發工具 Gulp 4 + Babel 7 + Browserify 整合紀錄
最近因為工作上需要,重拾 Gulp 來作套件
★全文分享★ [筆記] HTML 與 PUG 線上格式轉換
這篇筆記下網路上好用的 HTML 和 PUG 格式
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – 用一般 HTML 來製作樣板並排版
雖說用 pug 來進行排版算是很方便,不過
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – 依照開發環境調整佈署內容
這篇筆記下如何依照開發環境來調整佈署
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – 架設簡易伺服器和壓縮程式碼
這篇要筆記下的是讓前端開發時可以擺脫
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – Gulp 和 Bower 串接
Gulp 搭配上 Bower 和 Bootstrap 4 前端套件,可
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – 初始化你的第一個 Gulp 編譯專案
這篇筆記下用 Gulp 來編譯你的檔案,需要
★全文分享★ [筆記] 使用 Gulp 進行網頁前端自動化 – 簡介
Gulp 是一個前端自動化工具。由於瀏覽器