electron 起步

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

electron 起步

为什么要学 Electron,因为公司需要调试 electron 的应用。

Electron 是 nodechromium 的结合体,可以使用 JavaScript,HTML 和 CSS 等 Web 技术创建桌面应用程序,支持 Mac、Window 和 Linux 三个平台。

electron 的成功案例有许多,比如大名鼎鼎的 vscode

hello-world

官网有个快速启动的应用程序,我们将其下载到本地运行看一下。

# Clone this repository
git clone https://github.com/electron/electron-quick-start
# Go into the repository
cd electron-quick-start
# Install dependencies
npm install
# Run the app
npm start

:运行 npm i 时卡在> node install.js,许久后报错如下

$ npm i

> [email protected] postinstall electron\electron-quick-start\node_modules\electron
> node install.js

RequestError: read ECONNRESET
    at ClientRequest. (electron\electron-quick-start\node\_modules\got\source\request-as-event-emitter.js:178:14)
 at Object.onceWrapper (events.js:422:26)
 at ClientRequest.emit (events.js:327:22)
 at ClientRequest.origin.emit (electron\electron-quick-start\node\_modules\@szmarczak\http-timer\source\index.js:37:11)
 at TLSSocket.socketErrorListener (\_http\_client.js:432:9)
 at TLSSocket.emit (events.js:315:20)
 at emitErrorNT (internal/streams/destroy.js:84:8)
 at processTicksAndRejections (internal/process/task\_queues.js:84:21)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

网上搜索 postinstall: node install.js 的解决办法是将 electron 下载地址指向 taobao 镜像:

// 将electron下载地址指向taobao镜像
$ npm config set electron_mirror "https://npm.taobao.org/mirrors/electron/"

新建项目 electron-demo 并参考 electron-quick-start

// 新建文件夹
$ mkdir electron-demo
// 进入项目
$ cd electron-demo
// 初始化项目
$ npm init -y
// 安装依赖包
$ npm i -D electron

新建 electron 入口文件 index.js

// electorn-demo/index.js
const { app, BrowserWindow } = require('electron')
const path = require('path')

function createWindow() {
    const mainWindow = new BrowserWindow({
        width: 800,
        height: 600,
    })
    // 加载html页面
    mainWindow.loadFile('index.html')
}

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

新建一个 html 页面(例如 index.html):

DOCTYPE html>


 
 
 
 Electron 网页


 hello world



在 package.json 中增加启动 electron 的命令:

{
  "name": "electron-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    // 会运行 main 字段指向的 indx.js 文件
  + "start": "electron ."
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^20.1.1"
  }
}

启动 electron 应用:

$ npm run start

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lphsQlfk-1662698148526)(https://images.cnblogs.com/cnblogs_com/blogs/665957/galleries/2215189/o_220909015112_electron-helloworld.png “electron-helloworld.png”)]

Tip:windows 下通过 ctrl+shift+i 可以打开调试界面。或使用 mainWindow.webContents.openDevTools()也可以打开。

    // 加载html页面
    mainWindow.loadFile('index.html')
    // 默认打开调试工具
+   mainWindow.webContents.openDevTools()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCyOgudU-1662698148528)(https://images.cnblogs.com/cnblogs_com/blogs/665957/galleries/2215189/o_220909015118_electron-helloworld2.png “electron-helloworld2.png”)]

热加载

现在非常不利于调试:修改 index.jsindex.html 需要新运行 npm run start 才能看到效果。

可以 electron-reloader 来解决这个问题。只要已修改代码,无需重启就能看到效果。

首先安装依赖包,然后修改 electron 入口文件即可:

$ npm i -D electron-reloader
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ electron-reloader&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值