vue项目使用electron打包成exe文件
需求:需要把vue项目打包生成桌面应用,点击桌面图标进入程序,不需要在浏览器输入地址。而且在没有网络的情况下也能正常使用。
效果图
图片:
首先你需要一个完整的vue项目,执行打包命令npm run build。然后你的文件夹中有个dist文件夹,在终端cd dist进入dist文件夹
下载electron
在dist文件夹下执行命令npm install electron 代码片
.
npm install electron;
在dist文件夹下创建main.js和package.json
main.js
const {app, BrowserWindow} =require('electron');//引入electron
let win;
let mainWindow;
let windowConfig = {
width:800,//创建窗口的宽度
height:600,//窗口高度
webPreferences: {//解决跨域问题
webSecurity: false
}
};//窗口配置程序运行窗口的大小
function createWindow(){
win = new BrowserWindow(windowConfig);//创建一个窗口
win.loadURL(`file://${__dirname}/index.html`);//在窗口内要展示的内容index.html 就是打包生成的index.html
win.webContents.openDevTools(); //开启调试工具
win.on('close',() => {
//回收BrowserWindow对象
win = null;
});
win.on('resize',() => {
win.reload();
})
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {
app.quit();
});
app.on('activate',() => {
if(win == null){
createWindow();
}
});
package.json
{
"name": "dist",
"version": "1.0.1",
"description": "",
"main": "main.js",
"build": {
"appId": "com.leon.HelloWorld02",
"copyright": "LEON",
"productName": "管理系统",
"dmg": {
"background": "res/background.png",
"window": {
"x": 100,
"y": 100,
"width": 500,
"height": 300
}
},
"win": {
"icon": "res/icon.ico"
}
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "electron .",
"pack": "electron-builder --dir",
"dist": "electron-builder"
},
"author": "",
"license": "ISC",
"dependencies": {},
"devDependencies": {
"electron": "7.1.2",
"electron-builder": "^22.8.0",
"electron-package": "^0.1.0"
}
}
执行命令npm run start,如果项目运行起来了说明electron安装成功
然后再执行命令 npm install electron-builder和 npm install electron-package
这样就可以看到dist文件夹里多了个dist 文件夹,里面的exe文件就是我们需要的。
注意:最好再vue项目打好包后点击index.html看能不能跑起来,跑不起来需要做其他配置,不能直接用这方法打包。