Electron系列 -- vue项目嵌套electron打包成桌面应用(上)

目录

一. 基于搭建好的vue项目, 全局安装Electron

添加electron

添加Electron-builder打包工具, 直接回车即可

安装完毕, 会发现目录里多了一个 background.js 的文件,并且 package.json 里多了依赖和执行命令, 其中这个“main”: “background.js” 是 electron 的入口文件

二. 测试, 打包

三. 项目打包其他配置( 应用名称 、安装流程相关)

 附上我项目运用上的配置,供参考

四. 常见问题

1.项目启动速度较慢, 在background.js中, 注释掉这段代码

 2.跨域问题 ,加上此配置 webSecurity: false, 根据需要窗口调整大小

 3..electron build 打包时,背景图片失败,background-image: url 被转换成 app:///img/

 4.electron 打包后, 请求地址变成了app://开头 

5.桌面应用图标默认图标,更改为自定义图标


一. 基于搭建好的vue项目, 全局安装Electron

添加electron

npm install electron -g  全局安装

cnpm install electron --save-dev 局部安装

添加Electron-builder打包工具, 直接回车即可

vue add electron-builder

安装完毕, 会发现目录里多了一个 background.js 的文件,并且 package.json 里多了依赖和执行命令, 其中这个“main”: “background.js” 是 electron 的入口文件

二. 测试, 打包

在package.json 会生成electron启动 和打包命令

npm run serve    网页运行
 
npm run electron:serve   网页运行并打开客户端运行
 
npm run electron:build   构建打包客户端-会在根目录生成dist_electron文件夹
                         其中的XXX Setup XXX.exe就是安装包

三. 项目打包其他配置( 应用名称 、安装流程相关)

根目录下 vue.config.js 文件
引入的图片文件大小必须是 256\*256 的
然后这个 build 的目录在项目根目录下创建,图片放进去就行
```

参照表
"build": {
"productName":"xxxx", //项目名 这也是生成的 exe 文件的前缀名
"appId": "com.xxx.xxxxx", //包名
"copyright":"xxxx", //版权信息
"directories": { //输出文件夹
"output": "build"
},
"nsis": { //nsis 相关配置,打包方式为 nsis 时生效
"oneClick": false, // 是否一键安装
"allowElevation": true, // 允许请求提升,如果为 false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, // 允许修改安装目录
"installerIcon": "./build/icons/aaa.ico", // 安装图标
"uninstallerIcon": "./build/icons/bbb.ico", //卸载图标
"installerHeaderIcon": "./build/icons/aaa.ico", // 安装时头部图标
"createDesktopShortcut": true, // 创建桌面图标
"createStartMenuShortcut": true, // 创建开始菜单图标
"shortcutName": "xxxx", // 图标名称
"include": "build/script/installer.nsh", // 包含的自定义 nsis 脚本
},
"publish": [
{
"provider": "generic", // 服务器提供商,也可以是 GitHub 等等
"url": "http://xxxxx/" // 服务器地址
}
],
"win": {
"icon": "build/icons/aims.ico",
"target": [
{
"target": "nsis", //使用 nsis 打成安装包,"portable"打包成免安装版
"arch": [
"ia32", //32 位
"x64" //64 位
]
}
]
},
"mac": {
"icon": "build/icons/icon.icns"
},
"linux": {
"icon": "build/icons"
}
}

```
 附上我项目运用上的配置,供参考
// electron相关配置
  pluginOptions: {
    electronBuilder: {
      customFileProtocol: "./", //解决背景图片异常问题
      builderOptions: {
        productName: "xxx系统", //项目名(exe 文件的前缀名)
        nsis: {
          allowToChangeInstallationDirectory: true, //自定义安装路径
          oneClick: false, //是否一键安装
          createDesktopShortcut: "always", // 是否添加桌面快捷方式
          installerIcon: "./build/icons/icon.ico",
          uninstallerIcon: "./build/icons/icon.ico",
          uninstallDisplayName: "卸载xxx系统",
          shortcutName: "xxx系统", // 图标名称
        },
      },
    },
  },

 配置完成后, 应用名称, 版本号等界面灵动化

四. 常见问题

1.项目启动速度较慢, 在background.js中, 注释掉这段代码
app.on("ready", async () => {
  // if (isDevelopment && !process.env.IS_TEST) {
  //   // Install Vue Devtools
  //   try {
  //     await installExtension(VUEJS_DEVTOOLS)
  //   } catch (e) {
  //     console.error('Vue Devtools failed to install:', e.toString())
  //   }
  // }
  createWindow();
});
 2.跨域问题 ,加上此配置 webSecurity: false, 根据需要窗口调整大小
 const win = new BrowserWindow({
    width: 1200,
    height: 1080,
    // autoHideMenuBar: true, // 隐藏菜单栏
    webPreferences: {
      // Use pluginOptions.nodeIntegration, leave this alone
      // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
      nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
      contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION, // 禁用上下文隔离
      webSecurity: false, //关闭安全策略, 解决跨域问题
     
    },
  });
win.maximize();//实现窗口最大化
 3..electron build 打包时,背景图片失败,background-image: url 被转换成 app:///img/

通过在 vue.config.js 中添加 customFileProtocol,再次打包成功!

const { defineConfig } = require("@vue/cli-service");

module.exports = defineConfig({

pluginOptions: {
electronBuilder: {
customFileProtocol: "./", //解决背景图片异常问题
},
},
});
 4.electron 打包后, 请求地址变成了app://开头 

这种情况,解决方式很简单, 写死即可 

思路: 将请求地址定义在.env.xxx的配置文件中, 通过不同的环境来编译, 测试环境 ,开发环境正常用代理, 生产环境写死地址 

5.桌面应用图标默认图标,更改为自定义图标

electron-icon-builder 是一个生成图标的包

 安装 electron-icon-builder

npm install electron-icon-builder --save-dev

package.json 中配置命令

"scripts": {
  "electron:generate-icons": "electron-icon-builder --input=./public/favicon.png --output=build --flatten"
},

执行命令, 生成icon

npm run electron:generate-icons

完成后会在根目录多出来一个build目录

在vue.config.js 中, 也要将路径进行调整 ./build/icons/icon.ico

删除原来的dist_electron,重新打包,安装后就是新图标了

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: electron-vue 是一个使用 Vue.js 开发跨平台桌面应用的框架,可以使用 electron-builder 工具将其打包 exe 文件。 以下是将 electron-vue 项目打包 exe 的基本步骤: 1. 安装 electron-builder 在 electron-vue 项目的根目录下执行以下命令: ``` npm install electron-builder --save-dev ``` 2. 配置打包参数 在项目根目录下创建一个 electron-builder.json 文件,用于配置打包参数。可以参考 electron-builder 的文档进行配置,主要包括应用程序名称、版本号、图标等。 3. 执行打包命令 在项目根目录下执行以下命令进行打包: ``` npm run build:win ``` 该命令会生一个 dist 目录,其中包含打包后的应用程序和安装程序,可以在 Windows 上运行。 以上就是将 electron-vue 项目打包 exe 的基本步骤,希望对你有帮助。 ### 回答2: electron-vue 是基于 Vue.jsElectron 的开发框架,可以快速构建桌面应用程序。在开发完后,开发者需要将其打包 .exe 格式(Windows 可执行文件),以便部署和发布。 以下是将 electron-vue 项目打包 .exe 文件的步骤: 1. 准备工作 首先要安装 electron-packager 包,这个包可以让我们快速打包 electron 应用程序。可以在终端中输入以下命令进行安装: npm install electron-packager --save-dev 2. 修改 package.json 文件 在 package.json 文件中,需要添加以下代码: "scripts": { "package": "electron-packager ./ --platform=win32 --arch=x64 --icon=./build/icons/icon.ico --out=./dist --ignore=dist --overwrite" } 这个代码段是一个命令,运行它可以将项目打包指定平台(这里是 win32,也就是 Windows)的可执行文件,以 .exe 格式输出到指定目录(这里是 dist 文件夹)。其中,--icon 表示程序图标,--ignore 是忽略打包的文件夹,--overwrite 表示覆盖已有的输出文件夹。 3. 执行打包命令 在终端中输入以下命令,即可开始打包: npm run package 然后等待一段时间,打包功之后会在 dist 目录下生 .exe 文件。 4. 发布 最后将 .exe 文件上传到合适的平台(例如 GitHub Release),这样用户就可以下载并使用了。 注意事项: - 在打包需要注意修改 .ico 图标文件的路径,确保能正确找到。 - 若需要打包其他平台的可执行文件,可以修改 --platform 和 --arch 参数。 - 打包时,如果报错了,可以在命令行加上 --verbose 参数,查看具体错误信息。 ### 回答3: electron-vue是一个基于vue.js构建的 electron框架的项目,可以让开发者快速地构建跨操作系统的桌面应用程序,并且electron-vue项目也非常容易打包exe可执行文件,便于在Windows平台上使用。 打包electron-vue项目exe的方法: 首先要在命令行中进入项目根目录, 然后运行: npm run build 或 yarn run build 这两个命令将会编译和打包electron-vue项目,生一个dist目录。 在默认情况下,打包出的exe应用程序是没有图标的,如果需要添加图标,需要在build目录下找到win下的icon.ico文件,并替换你自己的图标文件。 接下来,需要使用第三方的打包工具,如electron-builder,打包exe文件,命令如下: npm run dist 或 yarn run dist 执行完这个命令后,就会在dist目录下生一个installer目录,里面包含着生的exe文件和其他必要的文件。 理论上,exe应用程序已经可以在Windows平台上使用了。 总结: electron-vue项目打包exe并不是一件复杂的事情。只需进入项目根目录运行 npm run build 命令,然后使用第三方打包工具electron-builder打包,就可以生一个可执行的exe文件了,这样就极大地方便了开发者在Windows平台上部署应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值