【自学笔记】Electron初体验——精通安装与hello world

【自学笔记】Electron初体验——精通安装与hello world

前言

本帖子属于自学记录用,如果有错误遗落,还请指正,感谢。

学习Electron需要会HTML+CSS+Javascript、以及Node.js,正好拿来积累经验,下面放一些文档链接:

 

 

安装环境

开发Electron前,需要先安装Node.js,推荐LTS长期维护版。

安装后可以打开CMD输入下面的指令,出现版本说明安装成功了。

npm是包管理器,在安装Node.js时一同安装,无需另外安装。

node -v
npm -v

 

 

配置你的第一个程序

我们先确定开发目录,用VS Code打开该文件夹。下面用的所有终端特指VS Code终端,如果有报错,请切换Command Prompt,不要用默认的PowerShell。

如果你在开发目录还需要新建子文件夹,创建完在终端CD过去,或者右键文件夹找到“在集成终端中打开”的选项。

接下来的重点是初始化项目,请在终端输入以下指令来初始化项目:

npm init

 

然后会弹出一堆英文,不用管,他会让你配置项目信息,不想更改的(默认)直接回车。

package name: (hello-electron) // 包名 只能用小写字母和连接符-
version: (1.0.0) // 版本号
description:  // 用一段话来简单描述该应用用途
entry point: (index.js) // 或者你可以用 main.js
test command: // 调试命令 可以试试输入:electron .
git repository: // 目前不知道干嘛的 先跳过
keywords: // 目前不知道干嘛的 先跳过
author: // 作者名
license: (ISC) // 许可证

 

完成后会自动创建package.json文件,是程序必备的入口文件。

package.json

{
  "name": "hello-electron",
  "version": "1.0.0",
  "description": "Hello Electron!",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "author": "x77",
  "license": "ISC"
}

 

 

安装 Electron 包

想要程序跑起来,还需要用npm安装electron包到程序的开发依赖库里,官方用的第二个方法

 

然后在VS Code终端输入以下指令来安装,需要注意安装有两种方法:

第一种 会安装到Node安装目录里面的node_modules里,全局调用

npm install electron -g

 

第二种 安装在当前开发目录,生成对应的node_modules文件夹,并且在package.json文件的"devDependencies"项写入依赖库,可缩写为 -D

npm install electron --save-dev

 

这两种在运行程序时有些许差别,下面具体再聊。

另外还有两种安装方式:一种不带任何参数项的,安装到当前开发目录,区别是不会在package.json写入依赖库;

第二种 –save 也是安装到当前目录,在package.json文件的"dependencies"项写入依赖库,可缩写为 -S

package.json    // 依赖库长这样

{
  "devDependencies": {
    "electron": "^15.3.1"
  }
}

 

耐心等待几分钟安装完成,下面两个命令都能检验electron是否安装成功。

其中npx指令会到 当前目录\node_modules.bin 文件夹下寻找对应的可执行文件,没有找到才会读取系统的环境变量,如果你-g全局安装的话。

如果不想看版本号,可以直接输入 electron 或者 .\node_modules.bin\electron ,不带 -v 打开软件界面。

npx electron -v
.\node_modules\.bin\electron -v

 

 

第一个程序 Hello World

但只有这个文件还不够,运行的时候会报错,还需要另外两个文件——main.js和index.html。

  • package.json  ——  元数据
  • main.js ————— 代码
  • index.html  ———  图形用户界面

 

每一个 electron 程序都有一个 "main" 入口文件,你需要指定一个js文件,一般用 main.js 来命名。

然后 main.js 需要一个html页面来显示窗口,一般用 index.html 命名。每个html文件就相当于一个窗口,用 main.js 来管理窗口。

index.html    // 写一个超简单的HTML页面

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Hello Electron</title>
    </head>
    <body>
        <div>Hello, World!</div>
    </body>
</html>

 

main.js    // 文件内容借用官方例子,目前什么都没学,就暂时跳过

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

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

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

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

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

 

 

运行你的第一个程序

package.json 文件的"scripts"项用来配置调试运行参数,你可以把test改成其他单词比如start,该指令对应的命令是 "electron .",用来打开你写的 electron 程序,其中的小数点指的是当前目录。

需要注意,如果你electron模块安装在当前目录,"electron ."会无法识别到,需要改成 ".\node_modules\.bin\electron ." 后面连接着一个空格和小数点。

 

调试的时候,请在终端输入以下指令:

npm run start

 

如果只是运行去掉run即可,如下:

npm start

 

然后你就能看到你写的Hello World程序了,恭喜恭喜。

给TA充电
共{{data.count}}人
人已充电
工具指南杂记

【杂谈】VS Code插件编写教材

2021-11-9 16:02:27

工具指南工具箱

【格式转换】Waifu2x 图片无损放大 变清晰

2021-11-15 11:51:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索