Electron打包文件生成.exe文件打开即可使用

1 、Electron 打包,包括需要下载的内容和环境配置步骤

注意:Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序的框架

首先需要电脑环境有Node.js 和 npm我之前的文章有关nvm下载node的说明也可以去官网下载

检查是否有node和npm环境命令

复制代码
node -v
npm -v

输出版本号,说明安装成功

2、创建 Electron 项目

2.1 创建项目目录

打开命令行工具,创建一个新的项目目录并进入该目录:

复制代码
mkdir electron-app
cd electron-app

2.2 初始化项目

javascript 复制代码
npm init -y

2.3 安装 Electron

javascript 复制代码
npm install electron --save-dev

2.4 创建项目文件(可在vscode或者hbuilder打开并创建)

在项目根目录下创建 main.js 和 index.html 文件。

main.js 文件内容如下:

javascript 复制代码
const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  })

  win.loadFile('index.html')
}

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

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

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

index.html 文件内容如下:

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Hello World!</title>
</head>
<body>
  <h1>Hello World!</h1>
  We are using Node.js <script>document.write(process.versions.node)</script>,
  Chromium <script>document.write(process.versions.chrome)</script>,
  and Electron <script>document.write(process.versions.electron)</script>.
</body>
</html>
2.5 配置启动脚本

package.json 文件中添加启动脚本:

javascript 复制代码
{
  "name": "electron-app",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^23.2.1"
  }
}

2.6 启动项目

在命令行中执行以下命令启动 Electron 应用:

javascript 复制代码
npm start

3. 选择打包工具并安装

常见的 Electron 打包工具有 electron-builder 和 electron-packager,这里以 electron-builder 为例。

3.1 安装 electron-builder

在项目目录下执行以下命令安装 electron-builder:

复制代码
npm install electron-builder --save-dev

4. 配置 electron-builder

在 package.json 文件中添加 build 字段来配置打包选项:

javascript 复制代码
{
  "name": "electron-app",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "electron": "^23.2.1",
    "electron-builder": "^23.6.0"
  },
  "build": {
    "appId": "com.example.electron-app",
    "productName": "Electron App",
    "directories": {
      "output": "dist"
    },
    "win": {
      "target": [
        "nsis"
      ]
    },
    "mac": {
      "target": [
        "dmg"
      ]
    },
    "linux": {
      "target": [
        "deb"
      ]
    }
  }
}

上述配置中,appId 是应用的唯一标识符,productName 是应用的名称,directories.output 是打包输出的目录。win、mac 和 linux 分别指定了不同操作系统下的打包目标。

5. 打包应用

5.1 打包测试

执行以下命令进行打包测试,该命令会在 dist 目录下生成一个未压缩的应用包:

javascript 复制代码
npm run pack

5.2 正式打包

执行以下命令进行正式打包,会生成不同操作系统下的安装包:

javascript 复制代码
npm run dist

打包完成后,在 dist 目录下可以找到生成的安装包。

相关推荐
星空寻流年3 小时前
css3伸缩盒模型第二章(侧轴相关)
javascript·css·css3
GalenWu4 小时前
对象转换为 JSON 字符串(或反向解析)
前端·javascript·微信小程序·json
GUIQU.4 小时前
【Vue】微前端架构与Vue(qiankun、Micro-App)
前端·vue.js·架构
zwjapple5 小时前
“ES7+ React/Redux/React-Native snippets“常用快捷前缀
javascript·react native·react.js
数据潜水员5 小时前
插槽、生命周期
前端·javascript·vue.js
2401_837088505 小时前
CSS vertical-align
前端·html
优雅永不过时·5 小时前
实现一个漂亮的Three.js 扫光地面 圆形贴图扫光
前端·javascript·智慧城市·three.js·贴图·shader
CodeCraft Studio6 小时前
报表控件stimulsoft教程:使用 JoinType 关系参数创建仪表盘
前端·ui
春天姐姐7 小时前
vue知识点总结 依赖注入 动态组件 异步加载
前端·javascript·vue.js
互联网搬砖老肖8 小时前
Web 架构之数据读写分离
前端·架构·web