1

我正在使用 构建一个应用程序,除了它在我的项目配置中扩展至electron-forge之外,这并不重要。.babelrc.compilerc

我正在使用infernojs / inferno-compatbabel-plugin-module-resolver来别名引用reacttoinferno-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这样一行:

模态.js:

var react = require('react')

我一个错误:

未捕获的错误:在 Module._resolveFilename (module.js:485:15) 处找不到模块“react”

4

1 回答 1

1

显然,包中别名模块不起作用,因为 Babel 默认不编译第三方模块。

我的解决方法是符号链接inferno-compatreactand react-dom

cd node_modules
ln -s inferno-compat react
ln -s inferno-compat react-dom

附带说明:Git 与符号链接配合得很好。如果您签入这些符号链接,Git 会将它们视为普通文件而不解析它们。

于 2017-11-29T19:24:01.683 回答