前端開發中提到的“腳手架”到底指什么,CLI?gulp 和 gulp-cli有什么區別


一般來說,腳手架是幫你減少「為減少重復性工作而做的重復性工作」的工具.

gulp和gulp-cli的區別可以看這個task - what does gulp-"cli" stands for? . 它跟前端常說的腳手架(scaffold)不是一個東西. CLI只是Command Line Interface的縮寫.

====

舉個例子
你要寫一個項目0,源語言為ES6,用了sass, 后端是node. 你每次完成一部分功能,你都要用把ES6編譯到ES5、編譯sass、壓縮html文件.
每次修改代碼都要做的編譯ES6、sass、壓縮html這些就是 重復性工作.

后來你知道了gulp, 然后你寫了個gulp腳本,每次有代碼改動,一句gulp build就幫你完成了上面說的這些重復性工作.你寫的gulp腳本就是 為減少重復性工作而做的工作.

你寫完這個項目0之后,你又要寫項目1,還是ES6、sass、后端node,還要完成之前的那些重復性工作. 這個時候你又為了這個項目寫了一個類似gulp腳本.

后來你又寫了項目2、項目3···,你每次都用相同的技術棧,每次的gulp腳本都大同小異,這時候你發現,寫這么多gulp腳本也成了重復性工作. 這就是 為減少重復性工作而做的重復性工作.

而腳手架就可以幫你減少這些 為減少重復性工作而做的重復性工作. 腳手架一個命令,目錄結構、gulp腳本、babel配置、空的測試文件都幫你搞好了. 直接寫核心業務代碼,不做重復性工作,這就是腳手架的作用.

當然一般不同的技術技術棧會有自己的目錄結構、工作流程,所以很多前端框架比如vue、angular、 ember會有自己的腳手架工具(一般就叫XXX-cli). yeoman也可以根據不同的生成器(generator)成為不同項目的腳手架工具.

作者:flowmemo
鏈接:https://www.zhihu.com/questio...
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

原文地址:https://segmentfault.com/a/1190000016670356


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM