一般支持 `workspace` 的工具都提供了单独的协议来访问内部包,比如 `pnpm` // a package.json { "name": "a", "version": "1.0.0", "devDependencies": { "common": "workspace:^1.0.0", } } // common package.json { "name": "common", "version": "1.0.0", "devDependencies": { "a": "workspace:^1.0.0", } } [https://www.pnpm.cn/workspaces](https://link.segmentfault.com/?enc=49yt0NgicKv6CNGbPIbWKw%3D%3D.dQPRnSmK9O41Dufcof6HhKdcKVTf63zOw2K%2F7JbL8gE%3D)  包与包之间生产环境下相互引用,通常有几种方案 * 所有的包开发环境都用 `build --watch` 这种方式,就都不需要配 `alias`,但包需要按照依赖顺序来构建,且不能有循环依赖 * 所有包正常起 dev,但都需要配置对应包的 `alias` * 还有一种方案,就是写个脚本,开发环境下把每个包 package.json 里面的入口文件替换成源码入口,生产环境再替换回构建产物的入口