doc: update readme.md

This commit is contained in:
mozzie 2023-02-13 09:27:23 +08:00
parent 4de96d32dc
commit f04c23da6f

View File

@ -128,6 +128,46 @@ webpack 负责构建,根据 esmodule、commonjs 规范,找到对应的依赖
esbuild 同 webpack 一样,速度更快,但是 production 稳定性待考究
## 移花接木 cjs(.js) + es(d.ts) 小操作
场景monorepo 架构下,某些基础子包作为工具包,无需降级发布到 browser 环境,例如 nestjs 外部依赖,如果使用 commonjs 规范开发 ts再走 tsc 编译,生成的 `index.d.ts` IDE 无法进行代码智能提示。
- 利用 `tsc 构建`, `cjs``es` 规范的两个编译版本
- 在 `package.json` 入口默认使用 `cjs` 规范的 `js` 文件,同时types 文件使用 `es` 规范的 `d.ts` 文件
```json
// tsconfig.build-cjs.json
{
"compilerOptions": {
"module": "CommonJS",
"outDir": "./dist/cjs"
}
}
//
```
再来个 esmodule 规范的
```json
// tsconfig.build-es.json
{
"compilerOptions": {
"outDir": "./dist/es"
}
}
```
骚操作来了
```json
// package.json
{
"name": "@demo/util",
"main": "dist/cjs/index",
"types": "dist/es/index.d.ts"
}
```
# 坑点
## vite 项目引包报错