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 ❌

相关推荐
患得患失949几秒前
【前端websocket】企业级功能清单
前端·websocket·网络协议
落魄江湖行几秒前
基础篇四 Nuxt4 全局样式与 CSS 模块
前端·css·typescript·nuxt4
禅思院2 分钟前
前端性能优化:从"术"到"道"的完整修炼指南
前端·架构·前端框架
架构师老Y1 小时前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1318 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉8 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro9 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常9 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆9 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端