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 稳定性待考究
|
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 项目引包报错
|
## vite 项目引包报错
|
||||||
|
|
Loading…
Reference in New Issue
Block a user