В monorepo, который подключен с использованием рабочих пространств Lerna и Yarn, один из пакетов представляет собой приложение Next.js, которое зависит от нескольких пакетов, входящих в состав monorepo.
Все пакеты расходных материалов в monorepo написаны на современном javascript и имеют как main
, так и поле module
в своих package.json
s. Согласно соглашению , поле main
указывает на переносимый код, который использует CJS, в то время как поле main
указывает на передаваемый код, за исключением преобразования модулей ES в CJS.
Как упоминалось ранее, пакет, использующий эти пакеты, является приложением Next.js, которое создается с использованием Webpack 4. Как ни странно, один из использованных пакетов разрешается в поле main
, тогда как все остальные исправны разрешается в поле module
.
Я даже пытался вручную установить resolve.mainField
на [ 'module', 'main', ]
, но это не имело никакого эффекта.
Я не смог найти в документации ничего, что могло бы объяснить это поведение, и любая подсказка будет принята с благодарностью