上一篇講了如何開始搭建腳手架,接下來講說函數定義的規則和要點。npm
以前說了,若是將函數直接寫,腳手架在構建的時候就會自動的調用,有時候咱們只是須要一個私有函數。有三個不一樣的方法能夠實現。函數
_method
。放在構造函數裏。this
generators.Base.extend({ init: function () { this.helperMethod = function () { console.log('won\'t be called automatically'); }; } });
用繼承的方法。命令行
var MyBase = generators.Base.extend({ helper: function () { console.log('won\'t be called automatically'); } }); module.exports = MyBase.extend({ exec: function () { this.helper(); } });
官方提到了能夠這樣進行合併。code
generators.Base.extend({ priorityName: { method: function () {}, method2: function () {} } });
對於那些會自動執行的函數,他們是有一個優先順序的,下面這些函數是安順序的一個一個執行的。繼承
initializing
- 你的初始化函數,就是構造函數,主要就是檢查一下參數什麼的prompting
- 給用戶展現你的菜單,選點東西什麼的configuring
- 保存配置信息,建立相似.editorconfig
的文件default
- 就是默認,只要不在這個列表裏的函數都在這個位置執行writing
- 建立模板文件conflicts
- 處理異常和衝突install
- 裝npm
和bower
依賴什麼的end
- 打個命令行祝賀使用者成功了這節有點短,但單獨領出來感受仍是頗有必要,理順了大的流程。歡迎勘誤和提問。bower