doc: update readme.md
This commit is contained in:
parent
4de96d32dc
commit
f04c23da6f
40
readme.md
40
readme.md
|
@ -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 项目引包报错
|
||||
|
|
Loading…
Reference in New Issue
Block a user