使用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",1
运行npm test 打开项目
运行npm run electron_build 进行打包,exe图标必须有,格式是ico,exeName是exe的名称,根据自己需要配置
为什么要在dist目录加上electron.js和package.json呢?这是因为内部机制会找到index.html下package.json进行打包