我在 Lerna 和 Yarn 工作区下有一个 Monorepo。该存储库包含发布到 npm 并在 monorepo 外部和 monorepo 内部使用的包。在 monorepo 中开发时,我们希望所有此类包的main字段都package.json指向该src目录,而当在 monorepo 外部使用包时,我们希望使用者使用文件夹中的转译代码dist。
我希望这在包的所有使用中保持一致,我当前的解决方案是让字段main指向dist文件夹。然后,对于 monorepo 中的每个工具,即jest、tsc、webpack,parcel我必须想出一个不同的工具特定解决方案来为src目录而不是dist目录设置别名。但我不喜欢这样的事实:我必须为每个工具做这项工作。它似乎无法扩展。
有没有人提出一个较低级别的解决方案,其中模块根据环境解析到不同的文件夹?
谢谢。