欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用electron将vue-cli项目打包成exe

程序员文章站 2024-01-24 20:19:59
...

如果你已经做好了一个vue的项目,并且想要将他打包成exe,那么请继续阅读。
首先你可以下载一个demo了解一下。

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

这个demo主要就是main.js和package.json
打开main.js

const {app, BrowserWindow} = require('electron')
let mainWindow
function createWindow () {
  // Create the browser window.
  mainWindow = new BrowserWindow({width: 800, height: 600})//创建一个浏览器窗口,可配置宽高
  // and load the index.html of the app.
  mainWindow.loadFile('index.html')//加载html
  // Open the DevTools.
  // mainWindow.webContents.openDevTools()//打开调试窗口
  mainWindow.on('closed', function () {
    mainWindow = null
  })
}

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

package.json

{
  "name": "electron-quick-start",
  "version": "1.0.0",
  "description": "A minimal Electron application",
  "main": "main.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": "^2.0.0"
  }
}

运行 npm start
显示窗口

使用electron将vue-cli项目打包成exe
ok,现在我们在自己的项目上安装两个依赖

npm install electron --save-dev
npm install electron-packager --save-dev

electron有两种打包方式,electron-packager和electron-builder,官方推荐electron-builder,但是较为麻烦,初学者建议先用
electron-packager
首先将例子中的main.js复制一份并重命名为electron
修改为 mainWindow.loadFile(‘./dist/index.html’)

然后对你的项目进行打包,npm run build
打包完成后,将electron.js 在复制一份到dist目录下,修改mainWindow.loadFile(‘index.html’)
将项目根目录下的package.json修改

如同以下

"main": "build/electron.js",//入口
  "scripts": {
    "dev": "node build/dev-server.js",
    "start": "npm run dev",
    "build": "node build/build.js",
    "test": "electron .",
    "electron_build": "electron-packager ./dist exeName --platform=win32 --arch=x64 --icon=./assets/img/favicon.ico --overwrite"
  },

复制package.json到dist目录下,修改

  "main": "electron.js",

运行npm test 打开项目
运行npm run electron_build 进行打包,exe图标必须有,格式是ico,exeName是exe的名称,根据自己需要配置

为什么要在dist目录加上electron.js和package.json呢?这是因为内部机制会找到index.html下package.json进行打包