将vue项目通过electron打包成windows可执行程序

将vue项目打包成windows可执行程序

1、准备好dist将整个项目打包

bash 复制代码
npm run build

2、安装electron依赖

bash 复制代码
npm install electron --save-dev
npm install electron-packager --save-dev
bash 复制代码
"electron": "^13.1.4",
"electron-packager": "^15.2.0"

在dist文件夹下面创建electron.js
electron.js内容如下:

bash 复制代码
const electron = require('electron')
const path = require('path')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
const globalShortcut = electron.globalShortcut //快捷键

let mainWindow
const Menu = electron.Menu

function createWindow () {
 
    Menu.setApplicationMenu(null)
    // Create the browser window.
    mainWindow = new BrowserWindow({
        width: 980,
        height: 640
    })
 
    // and load the index.html of the app.
    mainWindow.loadFile('index.html')
 
    // Open the DevTools.
    // mainWindow.webContents.openDevTools()
 
    // Emitted when the window is closed.
    mainWindow.on('closed', function () {
        mainWindow = null
    })
 
    // 通过快捷键就可以打开调试模式 ctrl + shift + l
    globalShortcut.register('CommandOrControl+Shift+L', () => {
        let focusWin = BrowserWindow.getFocusedWindow()
        focusWin && focusWin.toggleDevTools()
    })
}

app.on('ready', createWindow)
 
// Quit when all windows are closed.
app.on('window-all-closed', function () {
    if (process.platform !== 'darwin') app.quit()
})
 
app.on('activate', function () {
    if (mainWindow === null) createWindow()
})

在dist文件夹下面添加package.json文件内容如下:

bash 复制代码
{
    "name": "china_new1",
    "version": "2.0.0",
    "description": "A minimal Electron application",
    "main": "electron.js",
    "scripts": {
      "start": "electron ."
    },
    "repository": "https://github.com/electron/electron-quick-start",
    "keywords": [
      "Electron",
      "quick",
      "start",
      "tutorial",
      "demo"
    ],
    "author": "GitHub",
    "license": "CC0-1.0",
    "devDependencies": {
      "electron": "^6.0.12"
    }
  }

整个文件夹格式如下:

在跟目录添加命令

bash 复制代码
"electron_build": "electron-packager ./dist --platform=win32 --arch=x64 --overwrite"

执行打包命令

bash 复制代码
cnpm run electron_build

等待打包结果,打包出来为一下截图即为打包成功,双击china_new1.exe运行项目。

相关推荐
ruanno_top1 天前
轮播每 3 秒自己翻页:键盘停不下来,读屏也不知道换了页
vue.js
1-1=01 天前
Vue 3 模板语
前端·javascript·vue.js
Java小卷1 天前
面向 Schema 编程,Vue 3 页面级渲染引擎!轻松玩转各场景 Validation!
vue.js·低代码
FungLeo1 天前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
Zucker n1 天前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu
FungLeo1 天前
成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
前端·javascript·vue.js·rbac·vue router·路由守卫·前端权限
FungLeo1 天前
成为全栈·Vue 管理后台篇·分页只显示第一页:从接口total 定位到前端修复
前端·vue.js·状态模式·分页·naive ui·服务端分页·前端问题排查
FungLeo1 天前
成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
前端·javascript·vue.js·rbac·仪表盘·管理后台·tanstack query
ruanno_top1 天前
可搜索的下拉框,键盘按不动:焦点进了下拉,事件还挂在触发器上
vue.js
FungLeo1 天前
成为全栈·Vue 管理后台篇·Vue Query:服务端数据缓存、query key与变更失效
vue.js·数据获取·前端缓存·前端状态管理·tanstack query·vue query