使用 Electron 打包前端代码将页面打包成桌面exe应用

使用 Electron 打包前端代码将页面打包成桌面exe应用

说明:1.以下是教程可以自己尝试熟悉node环境以及Electron 等打包环境
2. 1提供模板只需要下载运行npm install
2.2然后放置自己的index和static等文件
2.3然后npm run dist打包即可

git仓库地址自行下载

1.安装 Node.js 和 npm

首先,需要确保你已经安装了Node.js和npm(Node.js包管理器)。可以通过Node.js官网下载并安装。

2.创建项目目录

在你的工作目录中创建一个新的目录,并在该目录下初始化一个新的npm项目:

mkdir my-electron-app
cd my-electron-app
npm init -y

3.安装 Electron

通过npm安装Electron:

npm install electron --save-dev

4.设置项目结构

创建以下目录和文件结构:

my-electron-app/
├── package.json
├── main.js
└── index.html

5.配置 main.js

main.js 是Electron应用的主进程文件。这里是一个示例:

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

function createWindow() {
  const mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  });

  mainWindow.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();
});

6.创建 index.html

index.html 是你的前端代码入口文件。你可以将你现有的前端代码放入这个文件中。这里是一个简单的示例:


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>My Electron App</title>
</head>
<body>
  <h1>Hello World!</h1>
  <p>This is a simple Electron application.</p>
  <!-- Include your front-end code here -->
</body>
</html>

7.修改 package.json

在package.json中添加启动脚本,使其包括Electron启动命令:

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "devDependencies": {
    "electron": "^latest-version"
  }
}

8.运行应用

现在,你可以通过以下命令启动你的Electron应用:

npm start

打包应用

要将应用打包成可分发的形式,可以使用Electron Packager或Electron Builder。

一、使用 Electron Packager

1.安装Electron Packager:

npm install electron-packager --save-dev

2.创建打包脚本:

在package.json中添加一个打包脚本:

{
  "scripts": {
    "start": "electron .",
    "pack": "electron-packager . MyElectronApp --platform=win32 --arch=x64 --out=dist"
  }
}

3.运行打包命令:

npm run pack

二、使用 Electron Builder

1.安装Electron Builder:

npm install electron-builder --save-dev

配置package.json以使用Electron Builder:

{
  "name": "my-electron-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "pack": "electron-builder --dir",
    "dist": "electron-builder"
  },
  "build": {
    "appId": "com.example.myapp",
    "win": {
      "target": "nsis"
    },
    "mac": {
      "target": "dmg"
    }
  },
  "devDependencies": {
    "electron": "^latest-version",
    "electron-builder": "^latest-version"
  }
}

3.运行打包命令:

npm run dist
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron 可以将前端项目打包桌面应用程序,具体步骤如下: 1. 配置 package.json 文件 在 package.json 文件中添加以下内容: ``` "main": "main.js", "scripts": { "start": "electron ." }, "dependencies": { "electron": "^10.1.1" } ``` 其中,`main` 指定 Electron 主进程的入口文件,`scripts` 中的 `start` 命令用于启动应用程序,`dependencies` 中指定 Electron 的版本。 2. 创建主进程入口文件 在项目根目录下创建 `main.js` 文件,作为 Electron 主进程的入口文件。在 `main.js` 文件中,可以通过 `BrowserWindow` 类创建一个窗口,并加载前端项目的入口页面。 ```javascript const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadFile('index.html') } app.whenReady().then(() => { createWindow() }) ``` 在上述代码中,通过 `BrowserWindow` 类创建了一个窗口,并使用 `loadFile` 方法加载了前端项目的入口页面 `index.html`。 3. 打包应用程序 使用以下命令打包应用程序: ``` electron-packager . MyApp --platform=<platform> --arch=<arch> ``` 其中,`MyApp` 是应用程序的名称,`<platform>` 可以是 `darwin`、`linux` 或 `win32`,表示打包的目标平台,`<arch>` 可以是 `ia32`、`x64` 或 `armv7l`,表示打包的目标架构。打包后,会在项目根目录下生一个与目标平台和架构相关的文件夹,包含了打包后的应用程序。 以上就是使用 Electron前端项目打包的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值