自動化構建
開發階段寫的源代碼自動化的轉化程生產環境中能夠運行的代碼或程序,
通常咱們把轉化的過程稱之爲自動化工做流,脫離運行環境兼容帶來的問題
使用提升效率的語法規範和標準前端
- 經常使用的自動化構建工具
- Grunt Gulp FIS (webpack是模塊打包工具,不在這次範圍以內)
NPM Scripts
Grunt
- 最先的前端構建系統,插件生態完善,可是工做過程是基於臨時文件實現的,所以構建速度較慢
- 例如用它完成sass文件構建,先編譯sass,自動添加私有屬性前綴,最後再壓縮代碼。這個過程當中Grunt每一步都會有磁盤讀寫操做
- 例如sass在編譯完成後,將結果寫入臨時文件,下一個插件再讀取這個臨時文件進行下一步構建
- 處理的環節越多,文件讀寫的次數就越多,對於超大型項目,文件多,處理慢
- grunt入口
Gulp
- 解決了Grunt構建速度慢的問題,基於內存去實現的,也就是說他對於文件的處理環節都是在內存中完成的,相對於磁盤讀寫速度就快了不少
- 另外它默認支持同時執行多個任務,效率大大提升,使用方式通俗易懂,插件也比較完善
- gulp入口
F.I.S
- 百度內部的構建系統
- 相比於前兩個微內核的特色,它更像是捆綁套餐,擁有高度集成的特色,他把咱們項目中典型的需求儘量集成在內部
- 例如,資源加載,模塊化開發,代碼部署,性能優化
- FIS入口
備註:關於腳本#!/usr/bin/env node
的參考。帶有這一行的文件就是腳本文件,加這一行爲了讓node知道這個腳本文件運行的目錄node