JastaFly
@JastaFly

Ошибка с Babel при сборке Webpack?

При сборке проекта получаю ошибку:
ERROR in ./app.js
Module build failed (from ../node_modules/babel-loader/lib/index.js):
TypeError: /var/www/html/bx-site/local/client/app/app.js: Cannot read properties of null (reading 'bindings')
    at Scope.moveBindingTo (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/scope/index.js:828:13)
    at BlockScoping.updateScopeInfo (/var/www/html/bx-site/local/client/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:364:17)
    at BlockScoping.run (/var/www/html/bx-site/local/client/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:330:12)
    at PluginPass.BlockStatementSwitchStatementProgram (/var/www/html/bx-site/local/client/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:70:24)
    at newFn (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/visitors.js:172:14)
    at NodePath._call (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/path/context.js:49:20)
    at NodePath.call (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/path/context.js:39:18)
    at NodePath.visit (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/path/context.js:88:31)
    at TraversalContext.visitQueue (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/context.js:90:16)
    at TraversalContext.visitSingle (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/context.js:66:19)
    at TraversalContext.visit (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/context.js:113:19)
    at traverseNode (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/traverse-node.js:22:17)
    at traverse (/var/www/html/bx-site/local/client/node_modules/@babel/traverse/lib/index.js:53:34)
    at transformFile (/var/www/html/bx-site/local/client/node_modules/@babel/core/lib/transformation/index.js:80:31)
    at transformFile.next (<anonymous>)
    at run (/var/www/html/bx-site/local/client/node_modules/@babel/core/lib/transformation/index.js:25:12)
    at run.next (<anonymous>)
    at transform (/var/www/html/bx-site/local/client/node_modules/@babel/core/lib/transform.js:22:33)
    at transform.next (<anonymous>)
    at step (/var/www/html/bx-site/local/client/node_modules/gensync/index.js:261:32)
    at /var/www/html/bx-site/local/client/node_modules/gensync/index.js:273:13
    at async.call.result.err.err (/var/www/html/bx-site/local/client/node_modules/gensync/index.js:223:11)

Все пакеты связанные с babel обновил до последних версий:
"devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^9.2.1",
    "babel-preset-env": "^1.7.0",
    ....
}

Подскажите в чём может быть проблема?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
JastaFly
@JastaFly Автор вопроса
Помогло добавления пакета с пресетами в package.json:
"@babel/preset-env": "^7.26.0",
В webpack.config.js замени старые пресеты babel-preset-env:
{
                test: /\.js$/,
                exclude: /(node_modules|vendor)/,
                loader: 'babel-loader',
                query: {
                    cacheDirectory: true,
                    presets: ['babel-preset-env']
                }
            },

На новые @babel/preset-env:
{
                test: /\.js$/,
                exclude: /(node_modules|vendor)/,
                loader: 'babel-loader',
                options: {
                    cacheDirectory: true,
                    presets: ['@babel/preset-env']
                }
            }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Все пакеты связанные с babel обновил до последних версий

А не надо было. Работает - не трогай.:)

babel-core - старая версия семилетней давности, новая живёт тут: @babel/core.

Когда ты обновил всё до последней - что-то осталось старое, что-то работает со свежим, и так просто хрен разберёшь. Верни как было и живи спокойно.
Или же найди свежий нулевой пресет и перекинь проект на него, если так сильно хочется обновиться. Вручную же версиями библиотек жонглировать можно долго.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы