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



  • 相关阅读:
    TypeScript的泛型接口 泛型类接口
    typeScript中的泛型
    Node.js Tools 1.2 for Visual Studio 2015 released
    无法访问 IIS 元数据库。您没有足够的特权访问计算机上的 IIS 网站
    jexus jws 安装
    coreos安装
    Visual Studio Code 怎么支持中文
    docker管理shipyard中文版v3.0.2更新
    docker和shipyard使用问题
    DESCryptoServiceProvider
  • 原文地址:https://www.cnblogs.com/cnchengv/p/14762578.html
Copyright © 2011-2022 走看看