最近在视频学习Electron.js的相关内容,发现在渲染进程中通过require引入js文件会提示require is not defined 的错误
<!-- 直接通过script标签引入成功 --> <!-- <script src="./render-process/render.js"></script> --> <!-- 通过require引入报错 --> <script> require(‘./render-process/render.js‘) </script>
报错截图:
报错原因:
原因是因为官方在v5.0.0版本中将 nodeIntegration 的默认值改为了false,只需要在主进程中 BrowserWindow的nodeIntegration 改成false即可
官方描述:
解决方案:
win = new BrowserWindow({ width: 1000, height: 800, movable: true, resizable: true, webPreferences: { nodeIntegration: true //此处改为true } });
PS:
虽然解决了require的问题,但是还有一事不明,官方在文档中申明将nodeIntegration的默认值改为false是为了安全性考虑。那如果仅仅是将全局的node支持打开的话,会不会有其他的安全隐患?
原文地址:https://www.cnblogs.com/tang-cheney/p/11642944.html
时间: 2024-11-08 11:20:11