source link: https://yeoman.io/authoring/

Generators 是Yeoman生态系统中的重要组成部分。它们能被yo执行的插件,为用户生成需要的文件或项目。

在阅读本文后,你将学会如何创建并维护一个自己的Generator。

创建你的Generators

初始化为一个node模块

Generator的核心是一个nodejs模块。

首先,创建一个名称为generator-name(name 由你自己定义)的文件夹。Yeoman会通过查找文件来寻找可用的Generators。

进入文件夹,创建一个package.json文件,这个文件是nodejs模块的说明文件。你可以使用npm init命令来生成,也可以手动输入下面这段代码。

{
  "name": "generator-name",
  "version": "0.1.0",
  "description": "",
  "files": [
    "generators"
  ],
  "keywords": ["yeoman-generator"],
  "dependencies": {
    "yeoman-generator": "^1.0.0"
  }
}

name属性必须以generator-开头。keywords属性必须包含”yeoman-generator“并且这个仓库必须包含一个description以便我们能将它索引到我们的”generator page“。

请保证你配置了最新版本的yeoman-generator做完dependency。你可以这行命令来处理:

npm install --save yeoman-generator

files属性必须是一个数组,它包含着你的generator将要用到的文件和文件夹。

按需添加其他属性。

目录结构

Yeoman的功能取决于你的文件结构。子generator都包含在当前文件夹中。

当你调用 yo name时,使用的默认的generator是appgenerator. 它必须被包含在app/目录下。

当你通过yo name:subcommand调用子generators时,它们被保存在与subcommand一致的文件夹里。

一个generator的文件目录: