基于electron29版本桌面应用app开发例子

基于electron29版本桌面应用app开发例子

html+js+node.js 开发模式

生成package.json文件:

yarn init --yes

npm init --yes

运行打包

yarn dev
yarn build
#==========================================
electron与electron-builder版本不兼容问题处理办法:

在package.json中scripts中添加

"postinstall": "electron-builder install-app-deps",

#==========================================

在VSCode的终端窗口输入:npm init --yes 则自动生成一个package.json文件

(也可以在electron_helloWorld目录下的dos窗口里输入该命令),

运行该项目:

在终端cmd输入如下命令:

electron .

OK 测试运行

yarn dev
yarn start

npm run start

npm run dev

OK 安装打包成可执行app的cmd命令:

yarn global add electron-packager
yarn global add electron-builder
yarn global add @electron-forge/cli

npm install electron-packager -g

开始打包

yarn build

npm run build

如下执行结果:

C:\Users\hsg>npm install electron-packager

added 162 packages in 7s

33 packages are looking for funding

run npm fund for details

#==========================================

#start cli cammand

cnpm install --save-dev electron @electron-forge/cli

或者

npm install --save-dev electron @electron-forge/cli

或全局安装

cnpm install -g electron @electron-forge/cli

#build cli electron-builder

打exe安装包我们使用electron-builder工具包,安装命令如下。

cnpm install --save-dev electron-builder

或者

npm install --save-dev electron-builder

或全局安装

cnpm install -g electron-builder

开始打包

yarn run build

npm run build

#==========================================
electron与electron-builder版本不兼容问题处理办法:

在package.json中scripts中添加

"postinstall": "electron-builder install-app-deps",

#==========================================

注意,json文件不能带注释,复制上面的文本后记得注释去掉。

修改package.json,添加一条scripts命令和build配置。

"scripts": {

"start": "electron-forge start",

"postinstall": "electron-builder install-app-deps",

"build": "electron-builder --win" // 打包命令

},

"devDependencies": {

"@electron-forge/cli": "^6.2.1",

"electron": "^25.4.0", //max=29

"electron-builder": "^24.6.3" //max=25

},

"dependencies": {

"cesium": "^1.112.0",

"@electron-forge/cli": "^6.2.1"

},

// electron-builder配置

"build": {

"productName": "我的应用", // 安装应用后桌面名称

"directories": {

"output": "out" // 输出的文件目录

},

"win": {

"icon": "./ico/logo.ico", // 安装的图标

"target": [

{

"target": "nsis",

"arch": [

"x64",

"ia32"

]

}

]

},

"nsis": {

"oneClick": false,

"allowElevation": true,

"allowToChangeInstallationDirectory": true,

"installerIcon": "./ico/logo.ico",

"uninstallerIcon": "./ico/logo.ico",

"installerHeaderIcon": "./ico/logo.ico",

"createDesktopShortcut": true,

"createStartMenuShortcut": true,

"shortcutName": "我的应用"

}

}

#==========================================

#如果报错,可以采用node_modules目录删除,重新下载依赖包

cnpm install

#cesium安装cmd命令: //OK

cnpm install cesium --save

(三). Remote安装和使用

安装:在命令提示符下,输入:

cnpm install '@electron/remote'

或者

npm install '@electron/remote'

使用示例:

在主进程中:

const remote = require('@electron/remote/main')

remote.initialize()

remote.enable(mainWindow.webContents)

在渲染进程中:

const remote = require('@electron/remote')

remote. remote.dialog.showOpenDialog() //示例

"extractResources": {

"from": "./resource/db/",

"to": "db"

},

package.json文件内容:

bash 复制代码
{
  "name": "pg-electron",
  "version": "1.0.0",
  "main": "main.js",
  "repository": "https://gitee.com/hsg77/pg-electron.git",
  "author": "'hsg77' <'qqId@qq.com'>",
  "license": "MIT",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "postinstall": "electron-builder install-app-deps",
    "dev": "electron-forge start",
    "start": "electron-forge start",
    "build": "electron-builder --win",
    "electron:build":"electron-builder --win",
    "build:windows": "node_modules/.bin/electron-builder -w"

  },
  "keywords": [],
  "devDependencies": {
    "@electron-forge/cli": "^6.2.1",
    "electron": "^29.0.0",
    "electron-builder": "^23.0.0",
    "electron-updater": "^5.2.1"
  },
  "dependencies": {
    "@electron-forge/cli": "^6.2.1",
    "cesium": "^1.112.0",
    "sqlite3": "^5.1.6"
  },
  "build": {
    "productName": "我的应用",
    "appId": "com.cwgis.pg.electron",
    "copyright": "cwgis 版板所有",
    "directories": {
      "output": "out"
    },
    "win": {
      "icon": "./ico/logo.ico",
      "target": [
        {
          "target": "nsis",
          "arch": [
            "ia32"
          ]
        }
      ]
    },
    "nsis": {
      "oneClick": false,
      "allowElevation": true,
      "allowToChangeInstallationDirectory": true,
      "installerIcon": "./ico/logo.ico",
      "uninstallerIcon": "./ico/logo.ico",
      "installerHeaderIcon": "./ico/logo.ico",
      "createDesktopShortcut": true,
      "createStartMenuShortcut": true,
      "shortcutName": "我的应用"
    }
  }
}

本blog地址:https://blog.csdn.net/hsg77

本blog源代码地址:https://gitee.com/hsg77/pg-electron.git

相关推荐
摇滚侠9 分钟前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 监控指标 Metrics 阅读笔记
java·spring boot·笔记
噜~噜~噜~43 分钟前
操作系统笔记-1.1.3 操作系统的特征
笔记·操作系统
杨先生哦1 小时前
【2026热端攻防系列 10/12】前端凭据安全深度攻防:Cookie/Storage劫持、会话固定、凭据泄露与浏览器最新加固方案
前端·笔记·安全·web安全
天天爱吃肉82181 小时前
# 商用车多体动力学实战笔记|第7篇:制动系统与制动热衰退、ABS滞环控制
大数据·人工智能·笔记·python·嵌入式硬件·汽车
xiaoyuchidayuma1 小时前
【交流绕组及其磁动势-典型交流绕组结构(绘制绕组展开图)】
笔记·学习
崔高杰2 小时前
【自动阅读笔记】Inference-Time Scaling for Generalist Reward Modeling
人工智能·笔记·机器学习
chenzhou__4 小时前
独立游戏开发日志 ①:从信号博弈到涂色对战——一次玩法重构始
笔记·后端·学习·unity·go·独立游戏
杨先生哦4 小时前
【2026热端攻防系列 11/12】前端AI风控攻防实战:验证码缺陷、人机验证绕过、智能爬虫对抗与企业智能风控加固方案
前端·人工智能·笔记·爬虫·安全
摇滚侠4 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 使用监控体系 阅读笔记
spring boot·笔记·后端
我叫唧唧波4 小时前
【Java】Java 基础系统学习笔记
java·笔记·学习