electron 中renderer.js中使用require('electron') 报错require is not defined
Posted 婧秋-fool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了electron 中renderer.js中使用require('electron') 报错require is not defined相关的知识,希望对你有一定的参考价值。
在研究 渲染进程和主程序之前通信时,就在renderer.js 文件中写第一句代码
const {ipcRenderer} = require(\'electron\').ipcRenderer
就报错,然后我就寻寻觅觅,寻寻觅觅呀,估算也找了小半天时间,然后,
在我冷静下来仔细看看renderer.js 文件,在文件开头就有这样一句话
// This file is required by the index.html file and will
// be executed in the renderer process for that window.
// No Node.js APIs are available in this process because
// `nodeIntegration` is turned off. Use `preload.js` to
// selectively enable features needed in the rendering
// process.
这句话很重要就是,理解起来就是,这个renderer.js 不可以使用node.js,如果要使用,你需要去,启动XXXXX
看到这句话,百度起来就快了,网上给的答案在主进程中创建webPreference中修改他
nodeIntegration:true(默认的是false)
自问,我为啥呢么二,我也写了,然后再运行,报错依旧,我就很着急呀,why,
划重点:我拼错了,,,如果你也入坑,请仔细仔细检查,你是不是也把这个写错了。正确的写法是
webPreferences: {
//注意大小写
nodeIntegration:true,
preload: path.join(__dirname, \'preload.js\')
}
以上是关于electron 中renderer.js中使用require('electron') 报错require is not defined的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Python + Electron JS 编译成桌面应用程序(exe)