1、先拉electron代码

  git clone https://github.com/electron/electron-quick-start

2、将web项目拷贝到electron-quick-start文件夹下

3、更改main.js 更换引用的html

const {app, BrowserWindow, Menu} = require('electron')
const path = require('path')
//因为项目使用server,添加了这个库,添加前,别忘了使用 npm i http-server 安装库。
const httpServer = require('http-server'); function createWindow () {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
//注意 这里是我添加的,去掉electron自带菜单
Menu.setApplicationMenu(null)
mainWindow.loadFile('output/index.html')
httpServer.createServer({root:"./output"}).listen(80);
}

4、安装打包工具,添加打包命令

npm i electron-packager
  "scripts": {
"start": "electron .",
"packager": "electron-packager ./ APP --platform=win32 --arch=x64 --electron-version=19.0.6 --icon=logo.ico --overwrite"
}

命令解释:

electron-packager <location of project> <name of project> <platform> <architecture> <electron version> <optional options>
location of project:项目所在路径
name of project:打包的项目名字
platform:确定了你要构建哪个平台的应用(Windows、Mac 还是 Linux)
architecture:决定了使用 x86 还是 x64 还是两个架构都用
electron version:electron 的版本
optional options:可选选项

例子:

electron-packager ./  helloworld --platform=win32 --arch=x64 --out=./app --electron-version=3.0.7  

5、运行打包命令

npm run packager

可能遇到的坑:

1、打包超时

# yarn
yarn config set electron_mirror https://npmmirror.com/mirrors/electron/ # npm
npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/

2、图标报错

rcedit.exe failed with exit code 1. Reserved header is not 0 or image type is not icon for './src/assets/olami.ico'
解决方法:
下载生成ico工具:
https://icofx.ro/
下载之后,选择需要的图片(其他格式),后ctrl+s生成.ico图片

使用Electron-packager打包已有的web项目,发布客户端的更多相关文章

  1. Java Web项目发布及使用自定义域名

    详细讲解的网址: http://wenku.baidu.com/link?url=-ACZxKUcfrbhrMRUP3Ov-Q_c-Q9JPrA9D1fzHjHuJsWwZfRsVDVQ2qBtoY7 ...

  2. 使用cmd命令创建maven(web)项目+项目转换成IDEA项目+项目打包+Jetty运行Web项目

    3条件:配置好环境 配置环境教程:https://www.cnblogs.com/weibanggang/p/9623705.html 第一步:查看版本信息,在cmd输入mvn –version,如果 ...

  3. 将本地web项目发布到ubuntu上并运行 第一个本地的.net core2.0项目

    前置条件 ubuntu已安装dotnet 发布版本dotnet与发布机一致 这里用的是vm 所以直接把本地web项目拷贝到vm中运行的ubuntu系统中 web站点需要将 webapplication ...

  4. 【转】MyEclipse开发Web项目发布到Tomcat下的Root目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...

  5. MyEclipse 开发 Web项目发布到 Tomcat 下的Root 目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 . 例如:Web应用项目名称为:stock,则部署到tomcat后,是部署在tomcat/webapps/stock中,网址为 ...

  6. MyEclipse开发Web项目发布到Tomcat下的Root目录

    通常情况下,Web项目是发布到Tomcat下的webapps文件目录下的 .以至于我们访问的时候: 例如:Web应用项目名称为:webManager,则部署到tomcat后,是部署在tomcat/we ...

  7. 全网最详细的IDEA、Eclipse和MyEclipse之间于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! IDEA [适合公司业务]全网最详细的IDEA里如何正确新建[普通或者Maven]的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](类似eclipse里同一个 ...

  8. 全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发 ...

  9. Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案

    Eclipse导入web项目后,将web项目加载到server进行发布时,提示Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java ...

  10. ASP.NET Web项目发布选项:“允许更新此预编译站点” 详解

    目录 #使用visual studio 发布web项目 #"允许更新此预编译站点" 选项的意义 1.选中 "允许更新此预编译站点" 2.不选中 "允许 ...

随机推荐

  1. Spring之IOC(控制反转)入门理解

    在面向对象编程中,我们经常处理处理的问题就是解耦,程序的耦合性越低表明这个程序的可读性以及可维护性越高(假如程序耦合性过高,改一处代码通常要对其他地方也要做大量修改,难以维护).控制反转(Invers ...

  2. impdp,depdp 常用参数

    转载于:https://www.cnblogs.com/halberd-lee/p/7807032.html 1 导数据注意事项 检查数据库版本(用于决定导出时生成为哪个版本的dmp头文件) sele ...

  3. webpack打包分析webpack-bundle-analyzer 打包文件分析工具

    最近需要减少项目打包后的文件(bundle)的大小,那么首先需要了解bundle的构成. 目前我已知的方法有两种: 利用webpack-bundle-analyzer插件 利用webpack官方提供的 ...

  4. JS笔记(三):函数与对象

    镇楼图 Pixiv:torino 四.Function类型 Rest语法 一些函数如Math.max可以支持任意数量的参数,JS中对于这样的参数可以简单使用...来实现,使用剩余参数,它支持收集剩余的 ...

  5. jetson nano 4gb记录

    常用命令 Ctrl alt t 打开终端gnome-session-properties 打开开机自启动管理界面 ifconfig 查看ip xrandr --fb 1200x800 调节分辨率 ll ...

  6. 设置mode='out-on'导致路由切换过快路由加载报错 Failed to execute 'insertBefore' on 'Node'

    原代码: 解决代码: 原因未知

  7. Verilog中的时间尺度与延迟

    在Verilog的建模中,时间尺度和延迟是非常重要的概念,设置好时间尺度和延迟,可以充分模拟逻辑电路发生的各种情况和事件发生的时间点,来评估数字IC设计的各种要求,达到充分评估和仿真的作用.注意延迟语 ...

  8. 浅谈oracle连接远程数据库

    若是本地安装了oracle服务器 1 比较直接的方式是直接修改配置文件 去...\product\11.2.0\dbhome_1\NETWORK\ADMIN下面找三个.ora的配置文件:sqlnet. ...

  9. C# Http 服务器get pos 请求 获取头信息 iOS 客户端联调

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text ...

  10. Windows 解决teamview远程必须mstsc连接

    真实原因是你的TeamViewer一直在用远程桌面的ID进行登录,所以一旦远程桌面断开,TeamViewer就无法连接了.因此我们只需要切换为服务器的TeamViewer ID即可,服务器的TeamV ...