当前位置:首页 > 技术分析 > 正文内容

「Electron跨平台桌面应用开发 1」第一个Electron应用

ruisui882个月前 (03-01)技术分析10

本系列是Electron框架跨平台应用开发的入门教程:

一 第一个Electron应用

二 自定义菜单

三 自定义应用图标和窗口置顶

四 系统托盘功能

五 主进程和渲染进程中的通知和通信

六 详细讲解主进程和渲染进程

七 自定义窗口

八 引入前端框架Vue.js 3


现在开始第一章的学习。

什么是Electorn?

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。Electron 基于 Chromium 和 Node.js, 让你可以使用 HTML, CSS 和 JavaScript 构建应用。

这是Electron官网(
https://www.electronjs.org/)上对Electron的介绍。

一、第一个Electron应用

今天,我们就开始学习Electron。按照惯例,一切从“Hello,World!”开始吧。通过这个教程,你的app将会打开一个浏览器窗口,来展示“你好,Electron!”。

二、开发前的准备

1.安装Node.js

在使用Electron进行开发之前,您需要安装 Node.js。 我们建议您使用最新的LTS版本。

Nodejs可以在这里下载Nodejs官网。

要检查 Node.js 是否正确安装,请在您的终端输入以下命令:

node -v
npm -v

2.安装Visual Studio Code

Visual Studio Code(文章后面会直接简称为Code)是一款开源的,在 Windows、macOS 和 Linux 上运行的独立源代码编辑器。 JavaScript 和 Web 开发人员的最佳选择,包含大量扩展,几乎支持任何编程语言。你可以在Visual Studio Code官网下载到最新版的Code。

三、创建你的应用

1.在电脑上新建一个名为electronapp的文件夹,然后在Code中打开此文件夹。

2.在Code中使用快捷键Ctrl+`(反引号)打开Terminal(终端)。输入命令

npm init -y

-y参数表示项目使用默认的配置参数。

此时会在根目录下创建一个名为package.json的文件,内容与终端中显示的一致。

3.安装Electron

npm install --save-dev electron

4.修改package.json文件,在scripts字段下增加一条start命令:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron ."
}

start命令能让你在开发模式下打开你的应用。
5.创建main.js
首先,修改package.json的main字段

"main": "main.js",

然后在根目录下新建一个main.js文件,并写入如下代码:

const { app, BrowserWindow } = require('electron');

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600
  });

  win.loadFile('index.html');
}

app.whenReady().then(() => {
  createWindow();

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow();
    }
  });
});

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

6.新建index.html文件,并写入如下代码:




    
    Electron应用
    


    

你好,Electron!

这是我的第一个Electron应用。

最后你的Code看起来是这样子的:

package.json中devDependencies字段中显示了Electron的版本号。当然,你安装的版本可能与笔者的有出入,以你本机安装的版本为准,无需手动修改。

7.运行你的第一个Electron应用
打开终端输入命令,Electron应用将会被启动

npm start

四、打包应用程序

1.安装electron-packager

npm install --save-dev electron-packager

2.打包应用

npx electron-packager .

该命令的完整形式如下:

npx electron-packager   --platform= --arch= [optional flags...]

具体可参考GitHub -
electron/electron-packager(

https://github.com/electron/electron-packager)

命令执行完后会在你的根目录下多出一个名为electronapp-win32-x64的文件夹。

双击electronapp.exe即可运行应用程序。

下一章:二 自定义菜单

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2376.html

分享给朋友:

“「Electron跨平台桌面应用开发 1」第一个Electron应用” 的相关文章

Vue3 如何实现父子组件传值?

在Vue 3中,要实现父子组件传值效果主要通过props和emit两种机制来实现,下面我们就来详细介绍一下这两种机制。父组件向子组件传值propsprops是Vue组件的一种机制,主要的作用就是实现从父组件向子组件传递数据值,在父组件上通过在子组件标签上定义属性来实现数据属性值的传递,在子组件中通过...

gitlab 分支保护设置

一、功能描述代码管理中管理,我们把稳定的分支设置为保护,可以防止其他人员误操作(例如删除,合并,推送代码等)。二、Gitlab配置步骤1 点击项目Repository标签2.点击Expand标签3.配置如下:默认master是被保护的,而且只有维护人员具有推送和合并权限。设置保护分支,这里的beta...

祸害阿里云宕机3小时的IO HANG究竟是什么?

本文来自微信公号“CSDN”(ID:CSDNnews),作者 | 王知无, 责编| 郭 芮。2019年3月3日凌晨,微博炸锅,有网友反映说阿里云疑似出现宕机,华北很多互联网公司受到暴击伤害,APP、网站全部瘫痪,我自己的朋友圈和微信群里也有好友反馈,刚刚从被窝被叫起来去修Bug,结果发现服务器登不上...

内存问题探微

这篇文章是我在公司 TechDay 上分享的内容的文字实录版,本来不想写这么一篇冗长的文章,因为有不少的同学问是否能写一篇相关的文字版,本来没有的也就有了。说起来这是我第二次在 TechDay 上做的分享,四年前第一届 TechDay 不知天高地厚,上去讲了一个《MySQL 最佳实践》,现在想起来那...

30 个纯 HTML5 实现的游戏

浏览器和 JavaScript 的功能逐年不断的变强变大。曾几何时,任何类型的游戏都需要Flash。但随着 HTML5 发展,HTML5 + WebGL 游戏式就慢慢占领着这个舞台。以下是30款流行的游戏,它们可以在所有现代浏览器中运行,并且只使用web技术构建。1. HexGL地址:http://...

雅马哈TMAX 560 TECH MAX 外媒深度测评

应雅马哈(Yamaha)的邀请,在葡萄牙埃斯托里尔对全新的Yamaha TMAX 560 Tech Max踏板车进行了测试,在这里TMAX 560 Tech Max售价为11649英镑。雅马哈TMAX长期以来一直站在踏板车的顶端,就声誉和知名度而言,它是当之无愧的大踏板界NO.1。2020 TMAX...