gulp-simple-workflow-multi-host
簡單的工作流 基於Gulp 利用 gulp-preprocess 進行多環境(api域名)開發、打包
sass轉css css&js&html壓縮
前言
最近苦於搬磚,我們有三個開發環境,不同的環境的api的域名不一樣,像我這麼懶的人只能一鍵打包,webpack不太適用,沒辦法,只能寫一個基於gulp的,適合自己用的工作流了,哎~~~(一聲長嘆)
gulp-preprocess
- 在html中使用
<!-- @if HOST_ENV=`test` -->
<script charset="UTF-8">
window._hostname = `http://testhost`
</script>
<!-- @endif-->
<!-- @if HOST_ENV=`qa` -->
<script charset="UTF-8">
window._hostname = `https://qahost`
</script>
<!-- @endif-->
test環境下轉換效果
<script charset="UTF-8">
window._hostname = `http://testhost`
</script>
- 在中使用
var host
// @if HOST_ENV=`test`
host = `testhost`
// @endif
// @if HOST_ENV=`qa`
host = `qahost`
// @endif
test環境下轉換效果
var host
host = `testhost`
除錯 dev
- 自動重新整理
- 不壓縮
## 開發啟動 預設test環境,(gulpfile.js裡面配置)
npm run dev
## 除錯指定的域名,可選host test qa pe (gulpfile.js裡面配置)
npm run dev-host test
命令做了什麼
- 清空dist
- 把dev檔案處理完傳到dist中
- 觀察dev中的檔案,有變化的進行步驟2
- 開啟一個伺服器
- 觀察dist中的檔案,有變化即重新整理瀏覽器
打包 build
- 壓縮
## 打包全部
npm run build-all
## 打單個環境的包, 可選host test qa pe (gulpfile.js裡面配置)
npm run build test
命令做了啥
- 清空對應路徑
- 把檔案處理傳送到指定的路徑中
除錯打包效果
dev 原始碼路徑,dist 開發除錯的路徑 , output 打包路徑
├── README.md
├── dev
│ ├── example.js
│ └── index.html
├── dist
│ ├── example.js
│ └── index.html
├── gulpfile.js
├── output
│ ├── pe
│ │ ├── example.js
│ │ └── index.html
│ ├── qa
│ │ ├── example.js
│ │ └── index.html
│ └── test
│ ├── example.js
│ └── index.html
├── package.json
└── tree.txt