React + electronjs 实现桌面软件开发引入 electronjs 及 node api

React 与 electronjs 安装及运行请百度。

electronjs中引入 React

// electronjs 目录下的 main.js,loadFile修改为 loadURL
// mainWindow.loadFile(‘index.html‘)
mainWindow.loadURL("http://localhost:3000/");
// electronjs 目录下的 preload.js 最底下追加
// load Api 需要什么 api 就引入什么api
const loadApi = [
  ‘electron‘, // 引入 electron
  ‘mysql‘, // 引入 mysql
];
loadApi.map((item)=>{
  global[item] = require(item);
});

React中调用 preload.js文件中暴露的 api

import React,{Component} from ‘react‘;
import { HashRouter as Router, Link, Route } from ‘react-router-dom‘;
import ‘./App.css‘;
import { Button } from ‘element-react‘;
const Home = () => (
  <div>
    <h2>Home</h2>
  </div>
)

const About = () => (
  <div>
    <h2>About</h2>
  </div>
)

const Product = () => (
  <div>
    <h2>Product</h2>
  </div>
)
// const electron = window.electron
class App extends Component {
  Test(){

  }
  render(){
     const { electron } = window.electron;
    // console.log(window.electron);
    return (
      <Router>
          <div className="App">
            <Link to="/">Home</Link>
            <Link to="/About">About</Link>
            <Link to="/Product">Product</Link>
            <hr/>
            <Route path="/" exact component={Home}></Route>
            <Route path="/about" component={About}></Route>
            <Route path="/product" component={Product}></Route>
          </div>
        </Router>
    )
  }
}

export default App;

原文地址:https://www.cnblogs.com/xiaqiuchu/p/12386282.html

时间: 2024-12-15 11:59:54

React + electronjs 实现桌面软件开发引入 electronjs 及 node api的相关文章

nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Windows程序员的事实). 操作系统 API.操作系统发展到今日,几乎桌面应用的所有功能,都是基于系统API构建的.调用API和语言及技术无关,哪怕是使用汇编.例如(代码来源于网络,本地重新编译): ;我的第一个win32汇编程序 ;一个经典的hello world !程序 ;>>>>&

桌面软件开发学习笔记-带着问题出发

最近接触仿真软件比较多,但是感慨于国内相关软件市场的落后,在想自己可以做出什么贡献.我有软件的逻辑知识,但是要怎样将想要的功能实现,还需要软件工程.不认识什么软件开发的朋友,所以打算自己先入门,再找同行学习取经.不然都没有共同话题可聊. 主要想学的内容,现在可以想到的有: 1, 开发桌面软件需要学习哪门或哪几门编程语言,每门语言的优劣? 2,软件开发的一般流程 3,软件开发平台 4,软件测试-------前期学习不是重点 ...还有一些后期的问题,以上的前三个问题都是非常general但是非常重

web软件开发难在哪里(相比桌面软件)

首先,我认为WEB软件的开发是比桌面软件更为复杂的. 起码,开发方式远远不理想. 桌面软件的模块化, 组件化已经相当成熟,比如当年的VB delphi 后来的visual c#  ,java+ swt ,c++ QT.  而WEB开发,到目前为止都没有特别理想的组件化开发机制. 为了实现改善WEB软件开发,业界做了许多尝试. 2002年1月16日asp.net 1.0发布, 当时真是让人耳目一新, aspx简直就是用VB的方式来开发web 啊! Java后来也跟进,推出了JFaces方案, 与a

快手 aauto ---专用于桌面软件快速开发,永久免费

快手 aauto  ---专用于桌面软件快速开发,永久免费 1.http://www.aardio.com/ 2.http://www.foxtable.com/

wpf开发桌面软件记录

我的开发环境是win7,vs2013,sql2012,用wpf开发了一个很简单的桌面软件,用Installshield制作的安装包,安装包包含了.framework4.5,在自己电脑上测试正常,想着挺简单的啊 后来拿了一台xp系统的电脑,安装了测试,安装过程正常,可是打开软件的时候报错:不是有效的win32 第一个想法就是 版本不合,要使用兼容打开,可是,我发现xp根本就没有兼容打开软件的操作 第二个想法是vs里面是不是可以设置支持32位,可是重复看了vs,发现项目属性里面,支持系统位数 首选3

.Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站

前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程.Asp.Net 网站的命门被 IIS 捏着,我无力改变.有时需要临时搭建一个简单的 Web 服务器,去网上一通度娘,发现了 MyWebServer.HFS (HTTP File Server) 等简单实用的 Web 服务器,而且它们还是桌面应用.我就在想,什么时候能用 .Net 来开发一个桌面 W

敏捷软件开发VS传统软件工程

敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作.面对面的沟通(认为比书面的文档更有效).频繁交付新的软件版本.紧凑而自我组织型的团队.能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中"人"的作用. 本文将介绍敏捷软件开发的历史背景与发展,

全新的跨平台app软件开发工具——Lae软件开发平台

Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android等系统平台的软件,windows桌面工具软件.管理软件.游戏界面;  linux系统桌面工具软件.管理软件.游戏界面; Mac OSX系统上桌面工具软件.管理软件.游戏界面:安卓系统的APP软件.2D游戏:iOS系统上的APP软件.2D游戏. 感兴趣的朋友请搜索知乎上的Lae软件开发平台介绍,或加入

怪不的软件开发这么挣钱,原来是有这么多职位

说起软件开发,现在是无人不知,无人不晓.好多人可能以为软件开发就是做一样工作的,其实不然,软件开发也分很多种类型,很多方向.做为一个过来人,简单介绍一些常见的开发方向. 1. 桌面程序:Java.C++.C#.VB.C均可. 现在大家办公使用的还是桌面程序占多数,不管是OA,ERP等等,都是通过PC来操作,桌面程序开发是一个重要的方向.只要PC还在,桌面程序开发就会一直存在. 2. 网站服务器端开发:JSP(Java语法).PHP.ASP(C#语法).Web App框架等 互联网发展的一个重要部