打包流程详情步骤:

1、准备工作:

a、win7系统则确保node版本在v12以上,electron-builder对系统或版本有要求;

b、项目路径不使用中文;

c、使用淘宝镜像命令代替npm管理工具

npm install -g cnpm --registry=https://registry.npm.taobao.org

d、命令窗口中可以使用 “  cd.. ”  返回上一级目录

e、修改config > index.js 文件

和 bulid > utils.js文件中的图片路径

2、使用 npm run build 对vue项目打包生成dist 文件

3、cd dist  命令切换到dist文件夹目录下安装依赖,后续操作都在该文件下

使用命令 npm install --save-dev moduleName@version 安装开发依赖
"devDependencies": {"electron": "^7.1.9","electron-builder": "^22.9.1"
},使用命令 npm install -S moduleName@version 安装运行必备依赖
"dependencies": {"core-js": "^2.4.1","electron-packager": "^12.1.0","electron-updater": "^4.0.14"
}

4、在dist文件下创建主程序入口和package.json配置文件

main.js

const {app, BrowserWindow} =require('electron');//引入electron
let win;
let windowConfig = {width:800,height:600,webPreferences: {contextIsolation: false}
};//窗口配置程序运行窗口的大小
function createWindow(){win = new BrowserWindow(windowConfig);//创建一个窗口win.loadURL(`file://${__dirname}/index.html`);//在窗口内要展示的内容index.html 就是打包生成的index.htmlwin.webContents.openDevTools();  //开启调试工具win.on('close',() => {//回收BrowserWindow对象win = null;});win.on('resize',() => {win.reload();})
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {app.quit();
});
app.on('activate',() => {if(win == null){createWindow();}
});

package.json

{"name": "demo","productName": "项目名称","author": "作者","version": "1.0.4","main": "main.js","description": "项目描述","scripts": {"pack": "electron-builder --dir","dist": "electron-builder","postinstall": "electron-builder install-app-deps"},"build": {"electronVersion": "1.8.4","win": {"requestedExecutionLevel": "highestAvailable","target": [{"target": "nsis","arch": ["x64"]}]},"appId": "demo","artifactName": "demo-${version}-${arch}.${ext}","nsis": {"artifactName": "demo-${version}-${arch}.${ext}"},"extraResources": [{"from": "./static/xxxx/","to": "app-server","filter": ["**/*"]}]},"devDependencies": {"electron": "^7.1.9","electron-builder": "^22.9.1"},"dependencies": {"core-js": "^2.4.1","electron-packager": "^12.1.0","electron-updater": "^4.0.14"}
}

5、执行命令  electron .  使项目转为应用程序展示如图

5、执行命令  electron-builder 将项目打包为应用程序包如图

问题记录:

1、页面空白

解决方式:使用正确的依赖路径,路由不使用history模式;

2、electron-builder错误⨯ Get "https://github.com/electron/electron/releases/download/v1.8.4/electron-v1.8.4-win32-x64.zip"

解决方式:下载对应版本到 C:\Users\*****\AppData\Local\electron-builder\cache\ 位置。需要注意的是,不仅要下载这个压缩包,还要把对应的SHASUMS256.txt-文件也下载下来放进去;

参考链接:

流程细节参考https://www.cnblogs.com/jiangxifanzhouyudu/p/9517651.html

修改应用窗口图标、名称、尺寸等参考https://zhuanlan.zhihu.com/p/75764907

vue项目使用electron打包成桌面应用相关推荐

  1. vue项目使用hbuildX打包成app

    一.打包 1.在vue.config,js中加入 publicPath: './', 配置,防止打包后产生空白页 2.在axios.js中的默认服务器配置直接写服务器名称,在router里面配置路由模 ...

  2. vue项目利用Hbuilder打包成APP流程,以及遇到的坑

    目录 1.打包项目 1.1打包的app出现白屏. 1.2点击页面跳转不了,报 Loading chunk 2 failed. 等错误. 1.3.点手机物理按钮,直接退出程序. 2.Hbuilder发布 ...

  3. Vue项目转apk打包成手机APP详细步骤

    第一步: assetsPublicPath:' / ' =====> 替换成 assetsPublicPath:' ./ ' 第二步: 终端输入npm run build 打包项目 生成 dis ...

  4. Vue 打包 成 桌面应用 vue打包成桌面应用 vue 打包桌面应用 vue 部署 桌面应用 vue部署为桌面应用 vue部署 为 桌面应用 vue 桌面应用

    文章目录 使用到的 工具 electron 第一步 打包 dist 第二步 创建配置文件 main.js package.json 第三步 安装 Electron 第四步 测试运行 第五步 安装 el ...

  5. 【Electron】使用Electron将web项目打包成桌面应用程序

    目录 一.所需环境&打包前准备 1.安装node.js 2.安装electron 3.web项目 二.打包过程 1.打包配置 2. 安装打包器 3.执行打包命令: Electron是由GitH ...

  6. vue项目通过Electron生成桌面应用

    vue项目通过Electron生成桌面应用 一.安装 1. 把electron的官方demo下载下来 2. 安装cnpm 3. npm start 启动electron 4. 修改vue项目 5. 打 ...

  7. vue项目使用nwjs打包、替换exe桌面图标以及exe内容的图标全教程

    关于vue项目使用nwjs打包.替换exe桌面图标以及exe内容的图标全教程 单纯的打包exe(不含更改exe桌面图标以及内容图标) 前言:首先我们需要有一个自己的vue项目. 1)单纯前端自己玩的v ...

  8. Electron如何在UOS操作系统(统信)下打包成桌面应用?

    目录 1.前言 2.解决双击.点击.无法安装.无法运行程序的方法 3. 将appimage文件转为deb文件 4.闭坑!Electron打包成deb文件 1.前言 在UOS系统下,deb软件包是可以安 ...

  9. 将网站打包成桌面程序并生成安装包(跨平台)

    一.Nativefier将网站打包成桌面程序 介绍 Nativefier 是一个命令行工具,仅仅通过一行代码就可以轻松地为任何的网站创建桌面应用程序,应用程序通过 Electron打包成系统可执行文件 ...

最新文章

  1. linux centos 6.8svn,CentOS6.8 安装配置以SVNAdmin管理SVN代码库
  2. 关于socket和 jsp的几个问题
  3. python中common是什么意思_common中的python无效语法
  4. 代理错误[WinError 10061]
  5. 动态规划:openjudge 2.6-3532 最大上升子序列和 解题心得
  6. mininet 应用实践
  7. python中使用什么导入模块-python—模块导入和类
  8. verilog 生成块_如何高效的编写Verilog——终极版
  9. Spring的注解形式:@Repository、@Service、@Controller
  10. C# DataTable 和List之间相互转换的方法
  11. JAVA8的双重循环怎么优化_Java8处理List的双层循环问题
  12. android textwatcher 获取当前控件,android api解析之TextWatcher
  13. jar包里面文件修改
  14. Power bi 4.19 龙卷风图
  15. 植物大战僵尸修改向日葵无限吐阳光详细步骤~包含排除不符合条件的地址的讲解,以及如何观察地址情况等
  16. python强制终止_python强制终止
  17. win10千万不要重置_Win10系统如何自动恢复到出厂设置,小白式操作教程
  18. 小巧简便且美观的桌面便签记事备忘工具
  19. css3中属性前缀(-moz、-ms、-webkit、-o-)
  20. kubernetes用户使用token安全认证教程

热门文章

  1. oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限
  2. c语言 函数的参数传递示例_C-用户定义的函数示例,没有参数,没有返回类型...
  3. python—os模块、时间模块
  4. switch 字符串 java_JDK7新特性switch支持字符串
  5. python修改密码业务_Python: 修改LDAP密码
  6. java 类数组_Java常用类-字符串、日期类、算法及数组工具类等
  7. Java StreamTokenizer quoteChar()方法与示例
  8. Redis 过期策略与源码分析
  9. 为什么把端口号改为80之后,访问的时候就可以不写端口号
  10. 使用IntelliJ IDEA和Maven管理搭建+Web+Tomcat开发环境