使用Electron将Vue项目打包成桌面应用

一、

Electronicon-default.png?t=N4P3https://so.csdn.net/so/search?q=Electron&spm=1001.2101.3001.7020

1、Electron安装命令:

npm install electron g

2、Vue项目添加Electron-builder打包工具:

vue add electron-builder

PS:如果安装electron或者builder打包工具失败请设置国内镜像并且重新安装

3、设置国内镜像:

npm config edit

4、执行后会弹出npm的配置文档,将以下类容复制到文件末尾。

electron_mirror=https://npm.taobao.org/mirrors/electron/
 
electron-builder-binaries_mirror=https://npm.taobao.org/mirrors/electron-builder-binaries/

二、

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

三、

1、修改logo图片配置打包信息:注意:是vue.config.js文件,不是package.js

我下面引入的图片里面有一个build/logo.ico的文件,这个文件大小必须是256*256的
然后这个build的目录在项目根目录下创建,图片放进去就行
module.exports = {
    publicPath: process.env.NODE_ENV === 'production' ? './' : '/', //判断开发模式还是生产模式
    pluginOptions: {
        electronBuilder: {
            builderOptions: {
                nsis: {
                  allowToChangeInstallationDirectory: true,
                  oneClick: false,
                  installerIcon: "./build/logo.ico",  //安装logo
                  installerHeaderIcon: "./build/logo.ico" //安装logo
                },
                electronDownload: {
                    mirror: "https://npm.taobao.org/mirrors/electron/" //镜像设置
                },
                win: {
                    icon: './build/logo.ico' //打包windows版本的logo
                },
                productName: "应用名称",  //应用的名称
            }
        }
    },
}

2、electron-builder的配置文件

build: {
          productName: "xxxx",      //项目名 这也是生成的exe文件的前缀名
          appId: "com.xxx.xxxxx",   //包名  
          copyright: "xxxx",            //版权信息
          directories: {            //输出文件夹
            output: "build-electron"
          },
          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/"      // 服务器地址
            }
          ],
           electronDownload: {
                    mirror: "https://npm.taobao.org/mirrors/electron/"
                },
          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"
          }
        }

3、vue.config.js 配置示例:

module.exports = defineConfig({
    publicPath: process.env.NODE_ENV === 'production' ? './' : '/', //判断开发模式还是生产模式
    transpileDependencies: true,
    lintOnSave: false,
    pluginOptions: {
        electronBuilder: {
            builderOptions: {
                productName: '随意', // 生成 exe 的名字
                appId: "随意", // 包名  
                copyright: "随意", // 版权信息
                asar: false, // 文件不压缩成 app.asar
                directories: { // 输出文件夹
                    output: "electron_output",
                },
                nsis: {
                    oneClick: false, //是否一键安装
                    allowElevation: false, // 允许请求提升。若为false,则用户必须使用提升的权限重新启动安装程序
                    allowToChangeInstallationDirectory: true, //是否允许修改安装目录
                    installerIcon: "./build/icons/icon.ico", // 安装时图标
                    uninstallerIcon: "./build/icons/icon.ico", //卸载时图标
                    installerHeaderIcon: "./build/icons/icon.ico", // 安装时头部图标
                    createStartMenuShortcut: true, // 是否创建开始菜单图标
                    createDesktopShortcut: true, //是否创建桌面图标
                    shortcutName: "随意", // 快捷方式名称
                    runAfterFinish: false, //是否安装完成后运行
                },
                electronDownload: {
                    mirror: "https://npm.taobao.org/mirrors/electron/"
                },
                win: {
                    icon: 'build/icons/icon.ico',
                    target: [{
                        target: "nsis", //利用nsis制作安装程序
                        arch: [
                            "x64", //64位
                            // "ia32" //32位
                        ]
                    }]
                },
            }
        }
    },
​
})

四、

1、隐藏菜单栏目:根目录下src/background.js文件,找到app.on方法

app.on('ready', async () => {
    createWindow()
    // 隐藏菜单栏
    const {
        Menu
    } = require('electron');
    Menu.setApplicationMenu(null);
    // hide menu for Mac 
    if (process.platform !== 'darwin') {
        app.dock.hide();
    }
})

2、设定宽高也在这个文件里面

const win = new BrowserWindow({
        width: 1000,
        height: 800,
        title: '标题',
        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
        }
    })

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值