Какую ошибку с 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
```

Как можно решить эту проблему?
  • 13 ноября 2024 г. 14:53
Ответы на вопрос 2
Ошибка, с которой вы столкнулись, может быть вызвана несколькими причинами, связанными с конфигурацией Babel или конфликтами между различными плагинами и зависимостями. Вот несколько шагов, которые вы можете предпринять, чтобы попытаться разрешить эту проблему:

1. **Обновите зависимости**:
   Убедитесь, что все зависимости вашего проекта, включая Babel и плагинов, обновлены до последних версий. Вы можете сделать это с помощью команды:
   ```sh
   npm update
   ```

2. **Проверьте конфигурацию Babel**:
   Убедитесь, что ваш файл конфигурации `.babelrc`, `babel.config.js` или `package.json` правильно настроен. Если у вас есть плагины, которые могут конфликтовать между собой, это может привести к подобным ошибкам. Например:
   ```json
   {
     "presets": ["@babel/preset-env"],
     "plugins": []
   }
   ```

3. **Проверьте код**:
   Ошибка может также происходить из-за проблем в самом коде. Попробуйте временно удалить или закомментировать части кода в `app.js`, чтобы понять, какая именно часть кода вызывает сбой.

4. **Очистите кэш**:
   В некоторых случаях кэш может привести к таким ошибкам. Попробуйте очистить кэш Webpack:
   ```sh
   rm -rf node_modules/.cache
   ```

5. **Переустановите зависимости**:
   Если ничего не помогает, попробуйте переустановить ваши зависимости:
   ```sh
   rm -rf node_modules
   npm install
   ```

6. **Изоляция проблемы**:
   Если проблема сохраняется, постарайтесь создать минимальный воспроизводимый пример. Создайте новый проект и добавляйте зависимости и код по одному, чтобы локализовать источник проблемы.

7. **Проверка других плагинов**:
   Если вы используете специфичные плагины, такие как `babel-plugin-transform-es2015-block-scoping`, проверьте, может ли обновление или использование альтернативного плагина решить проблему. Возможно, стоит удалить или обновить проблемные плагины.

Если ни один из этих шагов не помог, пожалуйста, предоставьте больше информации о вашей конфигурации Babel и коде, который вы компилируете, чтобы мы могли предложить более целенаправленное решение.
Все пакеты связанные с babel обновил до последних версий

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

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

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