react桌面应用_如何使用React构建电子桌面应用程序[初学者]

react桌面应用

介绍

我一直对编写桌面应用程序有浓厚的兴趣。 这些年来一直困扰着我的是,我对学习C ++或Java使其不再感兴趣。 我想用Javascript构建桌面应用程序,因此我着手使用由Github开发和维护的Javascript桌面应用程序框架Electron。

Electron非常重要,它使您可以使用一个代码库为所有主要操作系统创建桌面应用程序。 这给我留下了深刻的印象,但印象不太多,因为您可以使用React,Angular,Vue或任何JavaScript框架编写桌面应用程序。 他们以此卖了我。

在本教程中,我将概述初始设置以帮助您入门。

先决条件

要了解本教程的语法和概念,您应该具有:

  • Javascript和React的基本概念
  • ES5和ES6标准的书面Javascript
  • 二手节点软件包管理器(npm)
  • 安装了Nodejs和npm / yarn

开始吧

让我们创建一个文件夹来容纳电子应用程序并将其更改为目录。

$ mkdir electron_react_app &&cd $_

使用CRA(create-react-app)cli为我们生成一个React代码库

$ npx create-react-app .

由于我们使用电子,因此我们将在整个教程中添加相关的依赖项。

$ yarn add electron electron-builderwait -on concurrently -D
  • electron -允许我们使用电子框架。
  • electron-builder -允许我们将电子应用构建为可执行文件。
  • wait-on -让您在开发过程中等待React进行编译,以便使用电子进行渲染。
  • concurrently -使我们同时运行React和电子。
  • $ yarn add electron-is-dev
  • electron-is-dev告诉电子我们正在努力确定当前环境以服务于构建还是使react app在dev环境上运行。

在公用文件夹中创建一个electron.js文件,以容纳我们的电子逻辑。

// public/electron.js
const electron = require ( "electron" );
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;

const path = require ( "path" );
const isDev = require ( "electron-is-dev" );

let mainWindow;

function createWindow ()  {
  // Define the applications dimension
  mainWindow = new BrowserWindow({ width : 900 , height : 680 });
  // Determine what to render based on environment
  mainWindow.loadURL(
    isDev
      ? "http://localhost:3000"
      : `file:// ${path.join(__dirname, "../build/index.html" )} `
  );
  
  // Show chrome developer tools when in dev environment
  if (isDev) {
    mainWindow.webContents.openDevTools();
  }
  // Create event to close window on close
  mainWindow.on( "closed" , () => (mainWindow = null ));
}

// On launch create app window
app.on( "ready" , createWindow);
app.on( "window-all-closed"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值