electron TodoList网页应用打包成linux deb、AppImage应用

这里用的是windows的wsl的ubuntu环境
electron应用打包linux应用需要linux下打包,这里用windows的wsl的ubuntu环境进行操作

1)linux ubuntu安装nodejs、electron

安装nodejs:

bash 复制代码
sudo apt update
sudo apt upgrade
##快捷安装
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

安装完验证

安装electron:

bash 复制代码
##安装cnpm
sudo npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm install --save-dev electron
cnpm install electron-builder --save-dev

2、electron打包linux应用

参考:

TodoList网页:https://cnloong.blog.csdn.net/article/details/140648621

TodoList打包文件夹内容基本都是上面和windows打包exe一样,只更改了package.json文件

新package.json内容:

linux下需要author、homepage、maintainer参数,不然会报错

bash 复制代码
{
  "name": "todolist-app",
  "version": "1.0.0",
  "main": "main.js",
  "homepage": "https://example.com",
  "author": {
    "name": "Your Name",
    "email": "your.email@example.com"
  },
  "build": {
    "appId": "com.yourcompany.todolist",
    "mac": {
      "category": "public.app-category.productivity"
    },
    "win": {
      "icon": "icons/icon.png",
      "target": [
        "nsis"
      ]
    },
    "linux": {
      "target": [
        "AppImage",
        "deb"
      ],
      "category": "Utility",
      "maintainer": "Your Name <your.email@example.com>"
    } 
    
  },
  "scripts": {
    "start": "electron .",
    "build": "electron-builder --linux"
  },
  "keywords": [],
  "license": "ISC",
  "description": "",
  "devDependencies": {
    "electron": "^31.2.1",
    "electron-builder": "^24.13.3"
  },
  "dependencies": {}
}

打包过程:

1)在windows的wsl的ubuntu环境进入对应windows目录TodoList下

一般/mnt下就是映射的windows的目录


2)build

npm run build

3)打包完成

在dist文件夹下可以看到linux平台的deb、AppImage安装包

dist\linux-unpacked 下是免安装包

ubuntu桌面查看

直接cmd进入linux-unpacked 目录下执行

bash 复制代码
./todolist-app --no-sandbox

如果不加--no-sandbox会报错

TodoList 运行效果

相关推荐
17(无规则自律)6 分钟前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
!chen6 分钟前
linux服务器静默安装Oracle26ai
linux·运维·服务器
摘星编程18 分钟前
React Native + OpenHarmony:UniversalLink通用链接
javascript·react native·react.js
REDcker25 分钟前
Linux 文件描述符与 Socket 选项操作详解
linux·运维·网络
蒹葭玉树38 分钟前
【C++上岸】C++常见面试题目--操作系统篇(第二十八期)
linux·c++·面试
qq_1777673739 分钟前
React Native鸿蒙跨平台数据使用监控应用技术,通过setInterval每5秒更新一次数据使用情况和套餐使用情况,模拟了真实应用中的数据监控场景
开发语言·前端·javascript·react native·react.js·ecmascript·harmonyos
烬头882142 分钟前
React Native鸿蒙跨平台应用实现了onCategoryPress等核心函数,用于处理用户交互和状态更新,通过计算已支出和剩余预算
前端·javascript·react native·react.js·ecmascript·交互·harmonyos
2501_927773071 小时前
imx6驱动
linux·运维·服务器
hy____1231 小时前
Linux_进程间通信
linux·运维·服务器
郭涤生1 小时前
C++的函数是否可以做到完全覆盖Linux和windows的跨平台
linux·c++·windows