electron中的renderer.js文件出现错误,报错信息为Uncaught ReferenceError: exports is not defined
当 Electron 运行时,遇到了以下错误。
Uncaught ReferenceError: exports is not defined at renderer.js:2
当尝试在渲染进程中使用nodejs时发生了上述错误。
简单的解决方案
在创建窗口时启用nodeIntegration,但是出于安全考虑,启用它并不是一个好选择。
const mainWindow = new BrowserWindow({
height: 600,
webPreferences: {
preload: path.join(__dirname, "preload.js"),
nodeIntegration: true // 追加
},
width: 800,
});
在index.html中定义exports。
<script> var exports = {}; </script>
注意整合
由于在渲染进程中使用Node.js功能可能导致XSS漏洞造成的损害更大,默认情况下禁用了Node.js功能。
另一种避免方法是使用contextBridge。