[TOC]
## 簡介
[使用gulp](https://github.com/Platform-CUF/use-gulp)
**全局安裝 gulp 是為了可以運行命令行, 而項目中得 gulp 是為了項目腳本依賴。**
一般命令行工具都會全局安裝,項目中用到的類庫還是建議跟著項目走,這樣每個項目可以使用自己的空間存放依賴列表,而不會造成全局污染和版本沖突。別人拿到你項目的時候,直接 npm install 就可以安裝所有依賴,并立刻執行了。
所以在每個項目中還要再次安裝:
~~~
npm install gulp --save-dev
//或者
npm i gulp -D
~~~
使用從網上下載的其他項目時,我們一般是把作者創建好的package.json直接拿過來,放到項目根目錄下,然后 `npm install` 一下,這樣該項目需要的gulp插件自動就安裝好了。
## BrowserSync
Browsersync能讓瀏覽器實時、快速響應您的文件更改(html、js、css、sass、less等)并自動刷新頁面。
https://browsersync.io/docs
## 雪碧圖
gulp-css-spriter 雪碧圖合并
## gulp-sass
這個過程中會先安裝 node-sass ,因為 **gulp-sass 依賴于 node-sass** 。
安裝命令:
~~~
npm i gulp-sass -D
/*
-S: --save
-D: --save-dev
npm i -h
*/
~~~
node-sass 安裝卡在 node scripts/install.js 解決辦法:
======== 7月12日更新 ========
總的來說就是兩種方法解決:
~~~
npm i gulp-sass -D --SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/
~~~
或者在 ~/.npmrc 里添加下面這行(參考),保存后再 `npm install
(**如果是用的 cnpm,需要添加到 ~/.cnpmrc**)
~~~
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
~~~
## [gulp 中的增量編譯](http://www.cnblogs.com/zichi/p/6265208.html)
`gulp watch`啟動監聽,此時修改 sass 文件夾下的任意文件,都會編譯該文件夾下的所有文件,這不是我們希望的,我們希望只對修改過的文件進行編譯,即**增量編譯**(Incremental Builds)。
## Gulp 插件編寫
[gulp中文入門教程](http://www.tangshuang.net/3126.html)
[精通gulp的關鍵:文件路徑匹配模式globs](http://yangbo5207.github.io/gulp/2016/08/10/new.html)
[GULP排除已壓縮文件思路](http://hao.jser.com/archive/13401/)
## 參考
https://www.npmjs.com/package/gulp-youkuvip
https://www.npmjs.com/package/gulp-turbo
https://gitee.com/chandlerver5/gulp-example/
- 講解 Markdown
- 示例
- SVN
- Git筆記
- github 相關
- DESIGNER'S GUIDE TO DPI
- JS 模塊化
- CommonJS、AMD、CMD、UMD、ES6
- AMD
- RequrieJS
- r.js
- 模塊化打包
- 學習Chrome DevTools
- chrome://inspect
- Chrome DevTools 之 Elements
- Chrome DevTools 之 Console
- Chrome DevTools 之 Sources
- Chrome DevTools 之 Network
- Chrome DevTools 之 Memory
- Chrome DevTools 之 Performance
- Chrome DevTools 之 Resources
- Chrome DevTools 之 Security
- Chrome DevTools 之 Audits
- 技巧
- Node.js
- 基礎知識
- package.json 詳解
- corepack
- npm
- yarn
- pnpm
- yalc
- 庫處理
- Babel
- 相關庫
- 轉譯基礎
- 插件
- AST
- Rollup
- 基礎
- 插件
- Webpack
- 詳解配置
- 實現 loader
- webpack 進階
- plugin 用法
- 輔助工具
- 解答疑惑
- 開發工具集合
- 花樣百出的打包工具
- 紛雜的構建系統
- monorepo
- 前端工作流
- 爬蟲
- 測試篇
- 綜合
- Jest
- playwright
- Puppeteer
- cypress
- webdriverIO
- TestCafe
- 其他
- 工程開發
- gulp篇
- Building With Gulp
- Sass篇
- PostCSS篇
- combo服務
- 編碼規范檢查
- 前端優化
- 優化策略
- 高性能HTML5
- 瀏覽器端性能
- 前后端分離篇
- 分離部署
- API 文檔框架
- 項目開發環境
- 基于 JWT 的 Token 認證
- 扯皮時間
- 持續集成及后續服務
- 靜態服務器搭建
- mock與調試
- browserslist
- Project Starter
- Docker
- 文檔網站生成
- ddd