使用yoeman创建一个脚手架

   日期:2020-07-18     浏览:90    评论:0    
核心提示:yoeman创建一个脚手架创建一个自己的模版工程,不要有node_modules文件夹全局安装yo npm i -g yo全局安装yoeman的脚手架工具npm i -g generator-generator进入模版工程目录下运行yo generator按照提示一步一步的走下去注意: 脚手架名字必须是generator-打头的创建成功后会在目录下生成一个generator-vue文件夹文件夹的目录结构是这样的cd generators/app/templates

yoeman创建一个脚手架

  1. 创建一个自己的模版工程,不要有node_modules文件夹

  2. 全局安装yo npm i -g yo

  3. 全局安装yoeman的脚手架工具npm i -g generator-generator

  4. 进入模版工程目录下运行yo generator按照提示一步一步的走下去

    注意: 脚手架名字必须是generator-打头的

  5. 创建成功后会在目录下生成一个generator-vue文件夹

    文件夹的目录结构是这样的

  6. cd generators/app/templates删除文件夹里的所有文件,然后将我们自己的模版工程拷贝进去

  7. vim ../index.js将下列内容拷贝进去

    'use strict';
    const Generator = require('yeoman-generator');
    const chalk = require('chalk');
    const yosay = require('yosay');
    
    module.exports = class extends Generator {
      prompting() {
        // Have Yeoman greet the user.
        this.log(
          yosay(`Welcome to the sensational ${chalk.red('generator-vues')} generator!`)
        );
    
        const prompts = [
          {
            type: 'confirm',
            name: 'install',
            message: 'Would you like to enable this option?',
            default: true
          }
        ];
    
        return this.prompt(prompts).then(props => {
          // To access props later use this.props.someAnswer;
          this.props = props;
        });
      }
    
      writing() {
        this.fs.copy(
          this.templatePath('**'), // 复制template下的所有文件
          this.destinationPath('./')
        );
      }
    
      install() {
        this.installDependencies({
          bower: false
        });
      }
    };
    

    上面的代码用到了yoeman的生命周期钩子

  1. 到脚手架根目录使用npm link命令,将我们脚手架所需的npm依赖包链接到全局

  2. 使用脚手架,到我们的需要安装的目录直接运行yo vues就可以安装目录啦

  • yo 后面跟的安装名字就是generator-vues,其中generator可以省略掉
  1. 执行可能会报错

    Error: spawn bower ENOENT
        at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
        at onErrorNT (internal/child_process.js:415:16)
        at process._tickCallback (internal/process/next_tick.js:63:19)
    

    可能就是因为上面的index.js不是复制的,在hooks里禁用bower安装就可以啦

    this.installDependencies({
      bower: false
    })
    
  2. 成功安装的界面

在执行以下我们的运行命令
项目成功的跑起来啦

下一期介绍一下如何将我们的脚手架发布到npm上

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服