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 ❌

相关推荐
念风零壹6 分钟前
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端·ai
光影少年42 分钟前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴8501 小时前
Vue 路由示例
前端·javascript·vue.js
发现一只大呆瓜1 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试
m0_719084112 小时前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录2 小时前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n2 小时前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n3 小时前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
狗哥哥3 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫3 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端