上一篇曾经把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别离写在example
,vue-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 文件,主动生成文档