Я думал, что Webpack + Babel будет передавать только код приложения, а не код, используемый для сборки Webpack. Тем не менее, похоже, что он переносит код из css-loader
, mini-css-extract-plugin
, et c, что вызывает следующую ошибку:
ERROR in ./styles/main.scss
Module build failed (from ../node_modules/mini-css-extract-plugin/dist/loader.js):
TypeError: __webpack_require__(...) is not a function
Если я добавлю следующее к exclude
, эта ошибка исправлено:
module: {
rules: [
{
test: /\.(j|t)sx?$/,
include: [APP_ROOT, path.resolve('./node_modules')],
exclude: [
path.resolve('./node_modules/mini-css-extract-plugin'),
path.resolve('./node_modules/css-loader'),
],
use: [
'babel-loader',
],
},
...
Я думал, что мне это не понадобится, потому что Babel не должен переносить пакеты, используемые для процесса сборки Webpack. Я добавил node_modules
к include
, потому что некоторые пакеты используют код, который не будет работать в старых браузерах.