Это продолжение этот ответ.
У меня есть сторонний код (реагирующие компоненты), который я объединяю как модули ES (с использованием точки входа pkg.module
). Это отлично работает (вы получаете конкатенацию модулей и встряхивание дерева), но включенный код не переносится с помощью babel, потому что, следуя большинству примеров конфигурации, я исключаю node_modules
в разделе babel-loader моей конфигурации webpack следующим образом:
{
...
module: {
rules: [
{
exclude: /(node_modules)/,
use: {
loader: 'babel-loader',
...
}
}
]
},
...
}
Итак, я получаю неожиданные ошибки токена при запуске webpack. Основываясь на связанном ответе, я переключился с использования exclude
на include
, чтобы при желании добавить некоторые пакеты из node_modules
, например:
{
...
module: {
rules: [
{
include: [/node_modules/@my-scope/, /src/],
use: {
loader: 'babel-loader',
...
}
}
]
},
...
}
Кажется, это работает для меня (больше нет, неожиданных ошибок токенов при запуске webpack), но я не уверен на 100%, что он делает то, что я думаю.
Правильно ли выглядит это решение? Есть ли способ лучше?
Спасибо @ JuhoVepsäläinen, я ценю это. Не стесняйтесь размещать свой комментарий в качестве ответа, чтобы я мог его принять.
Готово сейчас. Спасибо. :)
Решение мне кажется нормальным. Если включение начинает усложняться, вы можете заменить его функцией и использовать логику для фильтрации.
Решение мне кажется нормальным. Если включение начинает усложняться, вы можете заменить его функцией и использовать логику для фильтрации.