monorepo项目子包和子包之间互相引用注意事项

问题一、在子包之间互相引用函数时,如果只一味的配置tsconfig中path配置,是不行的,需要pnpm去下载workspace下子包建立软连接才是正解。

维度 tsconfig paths workspace 依赖
作用对象 TypeScript 编译器 Node / bundler / runtime
是否影响运行 ❌ 不影响 ✅ 真实依赖
是否生成 node_modules ✅(软链接)
是否有版本关系
是否可发布
是否符合 npm 生态

如果你只配了 paths:

  • TS 编译 ✔️

  • IDE 提示 ✔️

  • Node 运行 ❌(找不到模块)

除非你:

  • 用了 webpack / vite alias

  • 或 ts-node + tsconfig-paths

  • 或打包时重写 import

2️⃣ 打包器需要额外配置

你必须同步配置:

javascript 复制代码
// vite.config.ts
resolve: {
  alias: {
    '@shared': path.resolve(__dirname, '../shared/src')
  }
}

否则:

  • dev ✔️

  • build ❌

相关推荐
光影少年2 分钟前
如何进行前端性能优化?
前端·性能优化
Dxy12393102169 分钟前
js如何把字符串转数字
开发语言·前端·javascript
爱写bug的野原新之助17 分钟前
爬虫之补环境:加载原型链
前端·javascript·爬虫
陈广亮25 分钟前
工具指南7-Unix时间戳转换工具
前端
NGBQ1213832 分钟前
Adobe-Premiere-Pro-2026-26.0.2.2-m0nkrus 全解析:专业视频编辑软件深度指南
前端·adobe·音视频
北城笑笑33 分钟前
Chrome:Paused in debugger 的踩坑实录:问题排查全过程与终极解决方案( 在调试器中暂停 )
前端·chrome
haorooms35 分钟前
Promise.try () 完全指南
前端·javascript
kyriewen36 分钟前
闭包:那个“赖着不走”的家伙,到底有什么用?
前端·javascript·ecmascript 6
斌味代码39 分钟前
el-popover跳转页面不隐藏,el-popover销毁
前端·javascript·vue.js
该怎么办呢40 分钟前
cesium核心代码学习-01项目目录及其基本作用
前端·3d·源码·webgl·cesium·webgis