Плагин Babel Plugin Module Alias не работает с требованием ("реакция")
Я создаю приложение с electron-forge
, это не очень важно, кроме того, что это расширяет .babelrc
в .compilerc
в моей конфигурации проекта.
Я использую infernojs / inferno-compat и https://www.npmjs.com/package/babel-plugin-module-resolver для псевдонимов ссылок на react
в inferno-compat
.compilerc /.babelrc
"plugins": ["babel-plugin-inferno", "transform-async-to-generator", "transform-es2015-classes",
["module-resolver", {
"root": ["."],
"alias": {
"react": "inferno-compat",
"react-dom": "inferno-compat"
}
}]],
Пока это работает нормально с .jsx
файлы, но когда я устанавливаю пакет, как react-bootstrap-modal
это имеет такую строку:
Modal.js:
var react = require('react')
Я ошибка:
Uncaught Ошибка: не удается найти модуль "реагировать" в Module._resolveFilename (module.js:485:15)
1 ответ
Очевидно, что псевдонимы модулей в пакетах не работают, потому что Babel не компилирует сторонние модули по умолчанию.
Мой обходной путь был к символической ссылке inferno-compat
в react
а также react-dom
:
cd node_modules
ln -s inferno-compat react
ln -s inferno-compat react-dom
Примечание: Git прекрасно работает с символическими ссылками. Если вы отметите эти символические ссылки, Git будет обрабатывать их как обычные файлы, а не разрешать их.