上一篇曾经把vite插件的根底构造搭建起来了,这一次就来聊聊持续欠缺开发环境。

欠缺开发环境

生成d.ts文件

先来批改一下lib/index.ts这个文件

export interface userOptions {  name: string;  age: number;  base?: string;}export function handleOptions(options?: userOptions): string {  return `${options.name || "小明"}往年${options.age},主页${    options?.base || "/"  }`;}

在执行 yarn build,不出所料是打包胜利了,而后新建一个文件a.js导入dist/index.js这个文件,也可能失常应用,然而又发现一个问题,貌似没有只能提醒,齐全不晓得options能够传入哪些参数,这就有点不称心了,对标一下@vitejs/plugin-vue是有提醒的。

起因尼也能简略,就是tsup打包的时候没有生成.d.ts的类文件。翻了下文档tsup自带了生成类文件的性能。有个参数是--dts

所以来革新一下命令

{    "build": "tsup ./lib/index.ts --dts"}

运行一下发下会多一个index.d.ts的文件,测试一下,轻易新建一个js文件

发现也有提醒了,完满

创立一个git仓库

到这里也配置了有点货色了,前面的货色还须要git仓库的反对,所以先搞一个git仓库把代码提上去。

如同还没有配置.gitignore,把example当中的.gitignore挪动到根目录来

node_modules.DS_Storedistdist-ssr*.local

配置开发标准

尽管啥都还没有,然而逼格不能少,万一用的人多了,给你提个pr什么的,没有一个严格的标准就很好受。并且只靠文档去标准是不事实的,所以必须在提交前代码去验证,不合格间接不让提交。

commit标准

先从简略的commit标准开始吧,粗疏理解能够瞅瞅这篇文章如何标准你的Git commit?

这里就要用到commitlint这个插件了,不啰嗦间接装置没啥难度

yarn add @commitlint/config-conventional @commitlint/cli husky -D -Wecho "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js

留神这个是装置在外层的monorepo这个库外面,因为无论改任何文件,只有提交咱们都要校验commit msg

在scipts中在增加一条命令

{    "prepare": "husky install"}
yarn prepare# 把commitlint增加到git钩子中npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1'

最初提交一下 git commit -m 'xxx' 只有不依照标准,就会抛出异样

列举一下插件的作用

  • commitlint 检测commit msg是否标准
  • husky git hooks,有了能力欠缺前面的,提交之前主动格式化代码,检测代码是否标准

又实现了一个小指标,完满

代码标准

代码标准有两局部,一个是eslint查看代码异样,另外一个是prettier代码格局的查看。

在配置之前先来避个坑,当初我的项目的packages有2个,最开始我是把eslint和prettier别离写在examplevue-docs外面的,想的是一个vue的文件多,一个纯ts,这样就能够不同的我的项目用不同的计划。完了之后发现我就是个憨憨,写在最外层,做代码查看的时候间接就一起做了,并且是能够反对:针对不同的文件类型执行不同的查看计划。

先来配置eslint

yarn add -D typescript @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint -W

配置.eslintrc

{    "parser": "@typescript-eslint/parser",    "plugins": [        "@typescript-eslint"    ],    "rules": {},    "extends": [        "plugin:@typescript-eslint/recommended"    ]}

因为外围代码是ts所以要用到s的插件这两部很简略在@typescript-eslint/eslint-plugin的官网上抄下来就行了。@typescript-eslint/eslint-plugin

来验证一下,在vue-docs/lib/index.ts,写点错误代码

编辑器报错了,不要冲动,还没完。这里有个坑,如果你的编辑器不是用的我的项目中的.eslintrc配置,这个测试是没用的,所以还须要执行下一步

npx eslint packages/vue-docs/lib

看下是否报错

如果看到的是这样的能力代表胜利,又一个性能点实现了

配置prettier

这个也很简略从官网抄就行了eslint-plugin-prettier

yarn add eslint-plugin-prettier prettier -D -W

批改.eslintrc,新增如下

{  "plugins": ["prettier"],  "rules": {    "prettier/prettier": "error"  }}

在来装置一个举荐配置

yarn add eslint-config-prettier -D -W

残缺的.eslintrc配置

{    "parser": "@typescript-eslint/parser",    "plugins": [        "@typescript-eslint",        "prettier"    ],    "rules": {        "prettier/prettier": "error"    },    "extends": [        "plugin:@typescript-eslint/recommended",        "plugin:prettier/recommended"    ]}

最初来测一测,这个测试就很简略了轻易用记事本改一下格局,而后执行

npx prettier --write packages/vue-docs/lib

格局是不是有回到相熟的样子了。

最初把2条命令退出到scripts中

{  "lint": "eslint packages/vue-docs/lib",  "fix": "prettier --write packages/vue-docs/lib "}

到这里尼,根本的代码标准就有了。那么如何把代码标准和git联合到一起尼,下次再见。

最初再来推广一波

  • 仓库链接: vite-plugin-vue-docs
  • 在线体验: 解析.vue 文件,主动生成文档