zoukankan      html  css  js  c++  java
  • electron react

    1、先用create-reat-app创建一个程序

    在package.json中配置   "homepage": ".", 要可以从本地访问

    2、npm i electron --save-dev

    3、在package.json中配置入口文件,具体如下:

    {
      "name": "myre",
      "version": "0.1.0",
      "private": true,
      "homepage": ".",
      "main": "main.js",
     
    并修改启动命令
      "scripts": {
        "start": "react-scripts start",
        "estart": ".\node_modules\.bin\electron .",

    4、主进程
    const { app, BrowserWindow,ipcMain  } = require('electron')
    const path = require('path')function createWindow () {
      const win = new BrowserWindow({
         800,
        height: 600,
        webPreferences: {
         // preload: path.join(__dirname, 'render.js'),
          nodeIntegration: true,
          // 官网似乎说是默认false,但是这里必须设置contextIsolation
          contextIsolation: false      //有这两个 渲染进程才能用window.require 调用nodejs里的包
        }
      })
    
      win.loadFile('./build/index.html')
    }
    
    ipcMain.on("sendMessage",(event,data) => {
      console.log(data);
    
    })
    
    
    app.whenReady().then(() => {
      createWindow()
    
      app.on('activate', () => {
        if (BrowserWindow.getAllWindows().length === 0) {
          createWindow()
        }
      })
    })
    
    app.on('window-all-closed', () => {
      if (process.platform !== 'darwin') {
        app.quit()
      }
    })

    5、渲染进程里通信

    import React from 'react';
    import ReactDOM from 'react-dom';
    import './index.css';
    import App from './App';
    import reportWebVitals from './reportWebVitals';
    const { ipcRenderer  } = window.require('electron')
    
    console.log(ipcRenderer)
    
    
    function Welcome(props) {
      return (
       <h1 onClick={()=>{alert(1);ipcRenderer.send("sendMessage","this is render");}} >Hello, {props.count}</h1>
      );
    }

    下载地址

    http://47.99.246.229/myre.7z



  • 相关阅读:
    百度云BaaS体系揭秘,突破共识机制、单机计算和串行处理三大瓶颈
    百度云BaaS体系揭秘,突破共识机制、单机计算和串行处理三大瓶颈
    硬件笔试面试题
    硬件笔试面试题
    硬件笔试面试题
    hadoop生态搭建(3节点)-01.基础配置
    hadoop生态搭建(3节点)-01.基础配置
    Java Web开发中路径问题小结
    JavaScript 对象分类
    JavaScript 对象分类
  • 原文地址:https://www.cnblogs.com/cnchengv/p/14762578.html
Copyright © 2011-2022 走看看