腳手架能夠簡單的理解爲是自動爲咱們建立項目基礎文件的工具,總結它的做用有兩點:1、建立項目基礎結構;2、提供項目規範和約定。這些約定包括相同的組織結構、相同的開發範式、相同的模塊依賴、相同的工具配置、相同的基礎代碼等。腳手架工具能夠避免掉搭建項目時出現的重複工做。像vue-cli、create-react-app這些都是很成熟的腳手架工具。css
Yeoman是目前來講最老牌最通用的腳手架工具,它不像vue-cli這種更具備針對性,它更像是一個腳手架運行平臺。能夠經過yeoman搭配不一樣的generator去建立任何類型的項目。 也就是說咱們能夠經過定製generator去定製本身的前端腳手架。前端
$ npm i -g yo
複製代碼
$ npm i -g generator-node
複製代碼
$ cd path // cd到目標muluxia
$ mkdir my-modules // 建立項目文件夾
$ yo node
複製代碼
$ yo node:cli
$ sudo npm link
複製代碼
$ mkdir generator-sample
$ npm init
$ npm i yeoman-generator
複製代碼
自定義generator的目錄結構vue
|__generators/.................................................生成器目錄 | |__app/.....................................................默認生成器目錄 | |__index.js..........................................默認生成器實現 |__package.json...............................................模塊包配置文件node
代碼完成後,輸入 npm link 命令將一個generator-sample包連接到全局執行環境。 新建demo文件夾,執行 yo sample。在demo文件夾內生成露路徑/temp.txt內容爲隨機數的文件。react
代碼完成後,cd到demo文件夾下執行命令 yo sample,成功生成foo.txt文件。vue-cli
利用父類的prompt對象實現接受用戶的輸入,修改index.js,接受用戶輸入的namenpm
在foo.txt模板中接受json
代碼完成後,cd到demo下執行命令yo samplemarkdown