我正在使用electron-forge
构建应用程序,除了在项目配置中将.babelrc
扩展到.compilerc
之外,这并不重要。
我正在使用infernojs / inferno-compat和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')
我错了:
未捕获错误:找不到模块'反应' 在Module._resolveFilename(module.js:485:15)
答案 0 :(得分:1)
显然aliasing modules in packages does not work,因为Babel默认不编译第三方模块。
我的解决方法是将inferno-compat
符号链接到react
和react-dom
:
cd node_modules
ln -s inferno-compat react
ln -s inferno-compat react-dom
作为旁注:Git与符号链接很好地配合。如果您签入这些符号链接,Git会将它们视为普通文件而不是解决它们。