Плагин 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 будет обрабатывать их как обычные файлы, а не разрешать их.

Другие вопросы по тегам