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