链接

create-react-appelectron集成在了一个项目中。但是在React中无法使用electron

当在React中使用require('electron')时就会报TypeError: fs.existsSync is not a function的错误。因为React中无法使用Node.js的模块.

解决方案如下

创建renderer.js文件

在项目public/目录下新建renderer.js文件,该文件是预加载的js文件,并且在该文件内可以使用所有的Node.js的API。在renderer.js中添加

global.electron = require('electron')

修改main.js文件

修改创建浏览器的入口代码,添加preload配置项。将renderer.js作为预加载文件

mainWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true,
fullscreenable: false,
webPreferences: {
javascript: true,
plugins: true,
nodeIntegration: false, // 不集成 Nodejs
webSecurity: false,
preload: path.join(__dirname, './public/renderer.js') // 但预加载的 js 文件内仍可以使用 Nodejs 的 API
}
})

修改piblic/index.html文件

<div id="root"></div>前引入renderer.js文件

<script>require('./renderer.js')</script>
<div id="root"></div>

在React组件中如下使用electron

const electron = window.electron;

  完成

最新文章

  1. MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
  2. [Xamarin] 從Xamarin中呼叫 *.jar 的 library - 呼叫篇 (转帖)
  3. winndows7、office2013 激活信息还原
  4. 做完c语言作业的心得
  5. 【Anagrams】 cpp
  6. C#.NET U盘插拔监控
  7. 【HDOJ】1072 Nightmare
  8. Spring boot 内存优化
  9. Rsync的工作方式
  10. 微信小程序+和风天气完成天气预报
  11. springboot中实现多数据源
  12. js图片预加载与延迟加载
  13. VeeamBackup9.5-查看和添加备份设备
  14. Ubuntu16.04搭建QingdaoU(docker一键式部署)
  15. Mysql添加注释(comment)(转)
  16. SpringMVC框架09——@ResponseBody的用法详解
  17. python-列表解析、字典解析、集合解析
  18. 转 java反射详解
  19. 【算法笔记】A1060 Are They Equal
  20. VS2010 不显示 最近使用的项目 解决办法

热门文章

  1. BZOJ 3732 Network 【模板】kruskal重构树
  2. Java基础学习总结(41)——JPA常用注解
  3. hibernate即时获取数据库信息
  4. spring基于通用Dao的多数据源配置
  5. Apache + Tomcat + JK 集群
  6. ios 视频播放代码Demo
  7. 试试pypy
  8. HDU 4259(Double Dealing-lcm(x1..xn)=lcm(x1,lcm(x2..xn))
  9. HDU5489 LIS变形
  10. 文字过长 用 ... 表示 CSS实现单行、多行文本溢出显示省略号