【前端工程化】一:脚手架工具yeoman以及plop的使用

脚手架的作用是创建项目基础结构,提供项目规范和约定,我们常用的三大框架也是有各自的脚手架生态

React.js项目 =》 create-react-app

Vue.js项目 =》 vue-cli

Angular项目 => angular-cli

Yeoman

Yeoman的基本使用

// 在全局范围内安装yo
npm install yo --global # or yarn add global add yo
// 安装对应的generator
npm install generator-node --global # or yarn global add generator-node
//通过yo运行generator(generator-node就是node) 回答一系列问题可以得到项目的结构
yo node 

Yeoman Sub Generator

在已经生成的项目基础之上,再去生成新的文件

// 运行sub Generator 在原先的generator后面跟上sub generator的名称
yo node:cli // 安装命令行工具
yarn // 安装更新后的依赖
// 命令行工具可以通过yarn link作用到全局范围
yarn link
// 运行作用到全局的命令行工具
my-module --help

并不是所有的Generator都会提供子集generator,使用前应该阅读文档

Yeoman使用步骤总结

  1. 明确你的需求;
  2. 找到合适的Generator;
  3. 全局范围安装找到的Generator;
  4. 通过Yo运行对应的Generator;
  5. 通过命令行交互填写选项;
  6. 生成你所需要的项目结构;

自定义Generator

基于Yeoman搭建自己的脚手架,比如vue-cli项目中加入axios模块等;

Generator的本质就是一个npm模块

  • Generator有固定的项目结构,先yarn init初始化package.json文件,其中name就是generator的模块名;

  • 在这里插入图片描述

  • 安装工具函数 npm install yeoman-generator

// index.js作为Generator的核心模块入口
// 需要导出一个继承自Yeoman Generator的类型
// Yeoman Generator在工作时会自动调用我们在此类型中定义的一些生命周期方法
// 我们在这些方法中可以通过调用父类提供的一些工具方法来实现一些功能,例如文件写入
const Generator = require('yeoman-generator')
module.exports = class extends Generator {
   
    writing () {
   
        // yeoman自动在生成文件阶段调用此方法
        this.fs.write(
        	this.destinationPath('temp.txt'),
            Math.random().toString()
        )
    }
}

yarn link的使用

开发过程中,两个或多个项目之间相互依赖时,可以使用yarn link将一个项目链接到另一个项目。
项目A中需要使用项目B时,可以使用yarn link或npm link将B引入到A。
link本身是软链接,yarn link是将资源存在yarn的内存中,相当于建立了一个通道。
在这里插入图片描述

根据模板创建文件

app文件夹下新建templates文件夹放置模板文件

this.fs.copyTpl(temp, output, data)

模板引擎可以使用EJS语法来创建变量

const Generator = require('yeoman-generator')

module.exports = class extends Generator {
   
    writing () {
   
        const temp = this.templatePath('README.md')
        const output = this
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Whoopsina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值