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

如果你已经做好了一个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
显示窗口

这里写图片描述
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进行打包

猜你喜欢

转载自blog.csdn.net/zfz5720/article/details/82181324