如何写一个项目初始化工具(下)

138 阅读1分钟

「这是我参与2022首次更文挑战的第37天,活动详情查看:2022首次更文挑战

前两篇中我们介绍了 yeoman 的用户交互、文件系统,这篇我们就通过他们来实现 vue 项目的 generator。要做的事情非常简单:

第一步:通过 vue-cli 创建一个 vue 标准项目;

第二步:把常用的工具类、组件等添加到工程;

第三步:把上面的工程拷贝到 templates 目录下;

第四步:修改 generator/app/index.js 文件中的模板拷贝代码,拷贝 templates 下所有文件夹和文件

async setup() {
    const ans = await this.prompt([{
        type: 'input',
        name: 'name',
        message: 'Your project name.',
        default: this.appname
    }])

    this.fs.copyTpl(this.templatePath(), this.destinationPath(ans.name), {
        appname: ans.name
    })
}

第五步:修改 package.json 的配置项 "name": "generator-vue",并且重新 link

npm link

至此,我们就完成了 vue generator 的开发,在命令行中可以用 yo vue 创建初始化项目。