Electron结合React,在渲染进程中使用 node 模块
2024-08-30 12:09:45
Electron结合React,在渲染进程中使用 node 模块
问题
将create-react-app
与electron
集成在了一个项目中。但是在React中无法使用electron
。当在React中使用require('electron')
时就会报TypeError: fs.existsSync is not a function
的错误。因为React中无法使用Node.js的模块.
解决方法1
利用window.require
引入
const electron = window.require('electron')
解决方法2
创建
preload.js
文件
在项目目录下新建preload.js
文件,该文件是预加载的js
文件,并且在该文件内可以使用所有的Node.js
的API
。在preload.js
中添加
global.electron = require('electron')
修改
main.js
文件
修改创建浏览器的入口代码,添加preload
配置项。将preload.js
作为预加载文件
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
// frame: false,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
nodeIntegration : true,
contextIsolation: false //Electron 12.0以上版本需要的额外设置此项
}
})
或者修改piblic/index.html
文件
在<div id="root"></div>
前引入preload.js
文件
<script>require('./preload.js')</script><div id="root"></div>
最后在React
组件中如下使用electron
const electron = window.electron;
最新文章
- 【原创】cs+html+js+css模式(六):改造ajax.js,从原来的原生态js修改为依赖于jquery插件
- PHP面试题汇总
- C# 常用结构
- 防止WordPress利用xmlrpc.php进行暴力破解以及DDoS
- Android PermissionChecker 权限全面详细分析和解决方案
- android代码片段一
- VPN pptp on linuxmint13/ubuntu12.04/debian VPS
- 基于Python的数据分析(1):配置安装环境
- bootstrap的datepicker在选择日期后调用某个方法
- Servlet简单概念和开发小总结
- 快速幂-hdu1097
- opencv车流量统计算法
- ClusterControl 强大免费数据管理工具
- ASP.NET开发,从二层至三层,至面向对象 (5)
- JS去掉字符串前后空格或去掉所有空格的用法
- Hibernate 批处理
- PRML2-概率分布
- Vue的过渡或动画
- 【Mac双系统设置系统默认启动系统】解决方式
- oracle之 关闭透明大页