当前位置: 首页 > news >正文

Electron入门

文章目录

    • 概要
    • Electron开发环境搭建
    • 第一个Hello Wold程序

概要

  • Electron 是由 Github开发的开源框架
  • 它允许开发者使用Web技术构建跨平台的桌面应用

Electron = Chromium + Node.js + Native API

  • Chromium : 为Electron提供了强大的UI能力,可以不考虑兼容性的情况下,利用强大的Web生态来开发界面。

  • Node.js :让Electron有了底层的操作能力,比如文件的读写,甚至是集成C++等等操作,并可以使用大量开源的npm包来完成开发需求。

  • Native API : Native API让Electron有了跨平台和桌面端的原生能力,比如说它有统一的原生界面,窗口、托盘这些。

Electron开发环境搭建

1、安装node.js:

  • 官网地址:Node.js  版本 v10+;
  • 安装完成后使用以下两个命令检查版本;
  • npm -v
    node -v

2、安装Electron:

  • //方法一:新建项目文件夹安装
    npm install electron --save-dev
    //方法二:全局安装
    npm install -g electron
  • 安装完成后使用以下两个命令检查版本;
  • npx electron -v
    ./node_modules/.bin/electron -v
  • 命令行启动一下Electron,出现下图弹出则安装启动成功;

  • //启动命令
    ./node_modules/.bin/electron

第一个Hello Wold程序

1、新建一个文件夹项目名称为Electron_Demo,在项目的根目录下新建一个index.html,写入如下代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  Hello world!
</body>
</html>

2、在根目录下新建入口文件main.js,写入如下代码:

let electron = require('electron');  // 引入electron模块
let app = electron.app  //创建electron引用
let BrowserWindow = electron.BrowserWindow  //创建窗口引用
let mainWindow = null; //声明要打开的主窗口
app.on('ready',()=>{ 
  mainWindow = new BrowserWindow({width: 400, height:400})  //设置主窗口大小
  mainWindow.loadFile('index.html')  //要加载的页面
  // 监听关闭事件,把主窗口设置为null
  mainWindow.on('close',()=>{
    mainWindow = null;
  })
})

3、在项目路径的控制台下运行如下代码初始化生成package.json 文件:

npm init --yes

4、运行项目,在终端里输入electron .即可出现窗口:

electron .

相关文章:

  • 设计模式—结构型模式之享元模式
  • CTF-PWN-小tips
  • 在 Windows 中关闭 Nginx 所有进程
  • 零基础安装分布式数据服务注册系统
  • 高压放大器使用方法介绍
  • 探索亚马逊大语言模型:开启人工智能时代的语言创作新篇章
  • 初识分布式键值对存储etcd
  • Rust8.1 Smart Pointers
  • Django(九、choices参数的使用、多对多表的三种创建方式、Ajax技术)
  • Revive开发商加入VR开源标准OpenXR
  • 第十九章Java绘图
  • C++二分查找算法:132模式枚举3简洁版
  • Apache Airflow (十二) :PythonOperator
  • nginx学习(4)Nginx 负载均衡
  • 【鸿蒙最新全套教程】<HarmonyOS第一课>1、运行Hello World
  • 傅里叶级数@正弦级数和余弦级数@奇偶延拓和周期延拓
  • VBA如何快速识别Excel单元格中的文本数字
  • 【每日刷题——语音信号篇】
  • AIGC ChatGPT4对Gbase数据库进行总结
  • 网络安全涉及哪些方面?
  • 商务部新闻发言人就中美日内瓦经贸会谈联合声明发表谈话
  • 今起公开发售,宁德时代将于5月20日在港股上市
  • 做街坊们的“健康管家”,她把专科护理服务送上门
  • 外交部发言人就印巴局势升级答记者问
  • 云南省安委会办公室:大理州安全生产形势比较严峻,事故总量一直居高不下
  • 东方红资管官宣:41岁原国信资管董事长成飞出任新总经理