1.跨域问题
找到src/main/index.js文件,或全局搜索BrowserWindow,添加代码取消跨域
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000,
webPreferences: {
webSecurity: false // 取消跨域
}
})
2.渲染进程出错,出现 ReferenceError: require xxx not defined
同样找到src/main/index.js文件,或全局搜索BrowserWindow,添加代码
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000,
webPreferences: {
webSecurity: false, // 取消跨域
nodeIntegration: true, // v5版本开始需要加多这一行
contextIsolation: false // v12版本需要加多这一行
}
})
3.使用原生模块出错,出现 but app.allowRendererProcessReuse is true的报错字段
同样找到src/main/index.js文件,添加代码
//v9版本开始,官方推荐在 渲染进程中不使用原生nodejs 模块
app.allowRendererProcessReuse = false;
4. NODE_MODULE 版本不匹配
npm install --save-dev electron-rebuild
./node_modules/.bin/electron-rebuild
5设置 msvs 版本
node-gyp --msvs_version=2015
npm install --msvs_version=2015(貌似有用)
npm config set msvs_version 2015 --global(未知)
如果是在package.json里面定义了ffi等依赖
那么安装命令的一个变形可能是
npm i --msvs_version=2015
或者是
npm config set msvs_version 2015 --global
npm i
6清除缓存
npm cache clean --force