通过yeoman和yeoman generator创建自定义脚手架

24 阅读1分钟
  • 执行yarn init创建package.json文件
  • 定义package.json中name字段的名称,作为后续创建的cli的名字 假设cli的名称为my-react-cli
  • 安装 yeoman
yarn add -g yo
  • 安装yeoman generator
yarn add -g generator-generator
  • 通过yo generator cli创建自定义generator目录
yo generator
  • 在创建好的目录中的index.js中编写cli工具代码
  • 在app同级的目录中创建tempaltes文件夹。
  • 将项目的工程配置及项目基础代码复制到tempaltes文件夹内。
  • 在app.js中编写如下代码
const Generator = require('yeoman-generator');

module.export = class extends Generator {
    prompting() {
        return this.prompt([{
            type: 'input',
            name: 'projectName',
            message: 'please input you project name',
            default: this.appName,
        }])
        .then((anwser) => {
            this.answsers = answsers;
        })
    }

    write() {
        this.fs.copyTpl(
            this.templatePath('index.html'),
            this.destinatiopath('index.html'),
            this.answsers,
        )
    }
}

  • 在自定义generator项目中,执行npm link

  • 在创建项目的目标文件下打开命令行执行yo my-react-cli,即可基于yo my-react-cli创建项目。