在使用 Lerna 和 Yarn 工作区连接的 monorepo 中,其中一个包是 Next.js 应用程序,它依赖于 monorepo 内部的几个包。
monorepo 中的所有消耗品包都是用现代 javascript 编写的,并且在它们的 s中都有一个main
字段和一个字段。按照约定,该字段指向使用 CJS 的已转译代码,而该字段指向除了将 ES 模块转换为 CJS 之外的已转译代码。module
package.json
main
main
如前所述,使用这些包的包是一个 Next.js 应用程序,它是使用 Webpack 4 构建的。奇怪的是,其中一个消耗的包被解析到main
字段,而其余所有包都正确解析到module
字段。
我什至尝试手动设置resolve.mainField
为[ 'module', 'main', ]
,但没有效果。
我在文档中找不到任何可以解释这种行为的东西,任何提示都将不胜感激