我从电子/节点js app的依赖(电子边缘)得到错误。 node.js版本是5.5.0,电子版本是0.36.7
答案 0 :(得分:0)
要完成Mark Meyer的回答,请执行以下操作:如果您将create-react-app与电子结合使用,则必须先弹出create-react-app才能修改webpack。这是使用@craco/craco的解决方案:
npm i --save @craco/craco
在您的package.json脚本中替换craco的create-react-app:
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"electron": "electron ."
},
将craco.config.js添加到根目录
module.exports = {
webpack: {
configure: {
target: 'electron-renderer'
}
}
};
修改main.js文件:
mainWindow = new BrowserWindow(
{
width: 800,
height: 600,
webPreferences: { // add
nodeIntegration: true // these
} // lines
});
然后从您的js文件中打开文件对话框,例如,使用window.require:
const remote = window.require('electron').remote;
remote.dialog.showOpenDialog(remote.getCurrentWindow(), {properties:["openDirectory"]});
有关完整故事,请参见create-react-app问题
答案 1 :(得分:0)
我猜您正在为代码使用捆绑器。在这种情况下,会出现问题,因为您没有捆绑正确的目标集。
在webpack中,将target: 'electron-renderer'
放入您的webpack.config.js
。
通过命令行选项--target electron
(parcel build yourfile.html --target electron
)在具有正确目标的包裹包中。