自动生成组件代码—— Vue CLI 插件开发实战

自动生成组件代码—— Vue CLI 插件开发实战

前言

近期工作的过程中跟 Vue CLI 的插件打交道比较多,想了想自己在学校写项目的时候最烦的就是项目创建之后手动创建组件/页面和配置路由,于是突发奇想决定写一个脚手架的插件,自动实现创建组件/页面和配置路由的功能

本文会一步一步教你如何编写一个自己的 Vue CLI 插件,并发布至 npm,为所有因为这个问题而烦恼的同学解放双手。

关注 「Hello FE」 获取更多实战教程,正好最近在抽奖,查看历史文章即可获取抽奖方法~

本教程的插件完整代码放在了我的 GitHub 上,欢迎大家 Starvue-cli-plugin-generators

同时,我也将这个插件发布到了 npm,大家可以直接使用 npm 安装并体验添加组件的能力。

PS:添加页面和配置路由的能力还在开发中

体验方式:

  1. 通过 npm 安装
npm install vue-cli-plugin-generators -D
vue invoke vue-cli-plugin-generators
复制代码
  1. 通过 yarn 安装
yarn add vue-cli-plugin-generators -D
vue invoke vue-cli-plugin-generators
复制代码
  1. 通过 Vue CLI 安装(推荐)
vue add vue-cli-plugin-generators
复制代码

注意:一定要注意是复数形式的 generators,不是单数形式的 generatorgenerator 被前辈的占领了。

废话不多说,我们直接开始吧!

前置知识

要做好一个 Vue CLI 插件,除了要了解 Vue CLI 插件的开发规范之外,我们还需要了解几个 npm 包:

  • chalk 让你的控制台输出好看一点,为文字或背景上色
  • glob 让你可以使用 Shell 脚本的方式匹配文件
  • inquirer 让你可以使用交互式的命令行来获取需要的信息

主要出现的 npm 包就只有这三个,其他的都是基于 Node.js 的各种模块,比如 fspath,了解过 Node.js 的同学应该不陌生。

项目初始化

创建一个空的文件夹,名字最好就是你的插件的名字。

这里我的名字是 vue-cli-plugin-generators,你可以取一个自己喜欢的名字,不过最好是见名知义的那种,比如 vue-cli-plugin-component-generator 或者 vue-cli-plugin-page-generator,一看就知道是组件生成器和页面生成器。

至于为什么一定要带上 vue-cli-plugin 的前缀这个问题,可以看一下官方文档:命名和可发现性

然后初始化我们的项目:

npm init
复制代码

输入一些基本的信息,这些信息会被写入 package.json 文件中。

创建一个基本的目录结构:

.
├── LICENSE
├── README.md
├── generator
│   ├── index.js
│   └── template
│       └── component
│           ├── jsx
│           │   └── Template.jsx
│           ├── sfc
│           │   └── Template.vue
│           ├── style
│           │   ├── index.css
│           │   ├── index.less
│           │   ├── index.sass
│           │   ├── index.scss
│           │   └── index.styl
│           └── tsx
│               └── Template.tsx
├── index.js
├── package.json
├── src
│   ├── add-component.js
│   ├── add-page.js
│   └── utils
│       ├── log.js
│       └── suffix.js
└── yarn.lock
复制代码

目录结构创建好了之后就可以开始编码了。

目录解析

一些不重要的文件就不讲解了,主要讲解一下作为一个优秀的 Vue CLI 插件,需要哪些部分:

.
├── README.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值