项目文件名和目录结构
需要按照约定的方式 generator-name
给项目文件夹命名,name 为你的 generator 的名字。项目目录结构一般如下:
1 | generator-name |
package.json 例子:
1 | { |
name 属性必须为 generator- 开头,keywords 属性中必须包含 “yeoman-generator”。
yo name
和 yo name:router
,产生所需文件。
编写 index.js
1 | 'use strict'; |
每个在 class 中添加的方法都会在 generator 被调用时被执行一次,而且一般是按顺序执行。不过,有些特殊的方法名会触法特殊的执行顺序。
运行 generator
在 generator-name/ 目录下的命令行中,输入:
1 | (sudo) npm link |
这将安装你的项目依赖,并将本地文件链接到全局模块中。 成功后,即可通过 yo name
指令来生产项目,可以验证你写的 generator。
运行循环(run loop)
run loop 是一个队列系统并支持优先级。优先级由特殊的 prototype 方法名决定。如果方法名未匹配优先级,则将放入 default 组。按运行顺序,可用的优先级名如下:
1 | 1. initializing : 初始化阶段 |
下面是一个例子:
1 | 'use strict'; |