渲染进程中使用require报错的问题
Posted tang-cheney
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渲染进程中使用require报错的问题相关的知识,希望对你有一定的参考价值。
最近在视频学习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支持打开的话,会不会有其他的安全隐患?
以上是关于渲染进程中使用require报错的问题的主要内容,如果未能解决你的问题,请参考以下文章
Required Integer[] parameter ‘xxx‘ is not present”报错的解决方案
修改MySQL密码报错“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements“(代码片段
Failed to convert property value of type ‘java.lang.String‘ to required type ‘int‘ for property(代码片段
报错“Field pet in XXX.HelloController required a bean of type ‘XXX.Pet‘ that could not be found.“(代码片段