改进并发布现代 npm 包
刚刚我们发布了一个低质量的 npm
包,因为它
- 没有类型提示
- 使用了落后的 CJS 语法
- 没有使用打包器进行构建,导致无法做语法降级,这可能在低版本的浏览器/Nodejs中出现问题
- 没有写 README 别人根本不知道怎么用
- 没有单元测试,导致出现问题修改时,容易把原先好的case改坏等等。
为此我们需要提升包的质量,具体的手段如下
此代码的演变用例见 examples
确定包的模块入口点
添加 DTS
类型提示其实就是最好的文档,为了让使用者,能在IDE里面直接点出来方法,类型和枚举,我们需要添加它
详见 DTS
更改为 ESM 格式优先
优先 ESM 格式符合我们面向未来编程的原则。
详见 ESM vs CJS
使用 TypeScript 进行编写
既然我们都要使用一份代码,去生成 cjs
/ esm
/ dts
,那么我们当然可以完全使用 TypeScript
进行编写,去生成对应的产物即可
使用打包器
TypeScript
自带的 tsc
功能太弱了,当我们要进行一些前端工程化的改造时候,光使用 tsc
+ script脚本
的方式已经满足不了我们的需求
所有我们这时候需要引入打包器,来和 TypeScript
一起协作
详见 使用打包器
写一份可读的 README
假如你写的 npm
包已经复杂到一个 README.md
文档无法解决开发者的遇到的问题了,那么就准备一个文档网站
添加单元测试(额外)
本模板使用的就是 vitest
,具体使用方式见 vitest
文档