electron入门学习

一、Electron介绍

Electron 提供了丰富的本地(操作系统)的API,是一个基于 Chromium 和 Node.js,使你能够使用 HTML、CSS和 JavaScript 来创建桌面应用程序,兼容 Mac、Windows 和 Linux。与其它各种的Node.js运行时不同的是Electron专注于桌面应用程序而不是Web服务器。目前,Electron 已经创建了包括 VScode 和 Atom 在内的大量应用

二、学习前提(相关文档)

【2.1】学习前提

JavaScript:Electron是一个能够让你使用 JavaScript 调用丰富的原生 APIs 来创造桌面应用,所以你必须掌握JavaScript的知识

webpack: 最强构建工具,没有之一,了解webpack,你才能更好编写项目配置。

node: electron是搭载谷歌v8内核的高性能的node环境 ,所有node能用的东西,我们都能用

【2.2】官方文档

Electron官方Github

Electron官方API文档

Electron中文文档

Electron 社区

electron-vue文档

三、一个简单的demo

【3.1】准备工作

新建一个空文件夹用于创建项目, 如下我在E盘创建了一个名为electron_demo的文件夹,使用终端进入文件夹, 使用npm init 命令初始化一个package.json文件,设置入口文件为main.js

【3.2】安装electron

npm install electron --save-dev

【3.3】项目根目录新建main.js文件(入口文件)

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

function createWindow () {   
  // 创建浏览器窗口
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  })

  // 并且为你的应用加载index.html
  win.loadFile('index.html')

  // 打开开发者工具
  win.webContents.openDevTools()
}

// Electron会在初始化完成并且准备好创建浏览器窗口时调用这个方法
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(createWindow)

//当所有窗口都被关闭后退出
app.on('window-all-closed', () => {
  // 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
  // 否则绝大部分应用及其菜单栏会保持激活。
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  // 在macOS上,当单击dock图标并且没有其他窗口打开时,
  // 通常在应用程序中重新创建一个窗口。
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow()
  }
})

// 您可以把应用程序其他的流程写在在此文件中
// 代码 也可以拆分成几个文件,然后用 require 导入。

【3.4】项目根目录新建index.html文件




    
    
    
    Document


    

Hello Electron

【3.5】在package.json文件中配置electron命令

"scripts": {
    "start": "electron .",
}

【3.6】执行命令 npm run start 就可以运行了

【3.7】运行效果

我们在main.js文件中配置了默认打开开发者工具,运行效果如下

四、打包

到目前为止,生成了一个非常简单的demo,但是作为一个桌面应用程序,我们不应该通过运行命令来启动它,而是直接点击exe文件进行运行。因此用到了electron-packager插件

【4.1】安装electron-packager

npm install -g electron-packager

【4.2】在package.json文件中配置打包命令

"scripts": {
    "start": "electron .",
    "pack": "electron-packager . myFirstElectron --win --out ./dist --arch=x64 --app-version=0.0.1 --electron-version=10.1.3"
}

打包命令代码解释:

. 需要打包的应用目录(**. **代表当前目录)

**myFirstElectron **应用名称

**–win **打包平台(windows平台)

**--out ./dist **输出目录

**–arch=x64 **64位

**–app-version=0.0.1 **应用版本

**–electron-version=10.1.3 **electron版本

【4.3】执行打包命令 npm run pack

【4.4】在项目根目录下的dist文件夹中找到myFirstElectron.exe打开即可运行

五、electron项目和web项目的区别

electron核心我们可以分成2个部分,主进程和渲染进程。主进程连接着操作系统和渲染进程,可以把它看做页面和计算机沟通的桥梁。渲染进程就是我们所熟悉前端环境了。只是载体改变了,从浏览器变成了window。传统的web环境我们是不能对用户的系统就行操作的,而electron相当于node环境,我们可以在项目里使用所有的node api 。简单理解为给web项目套上一个node环境的壳。

文章每周持续更新,可以微信搜索「 前端大集锦 」第一时间阅读,回复【视频】【书籍】领取200G视频资料和30本PDF书籍资料

你可能感兴趣的:(electron入门学习)