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


Posted in Javascript onSeptember 29, 2018

如果你已经做好了一个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",1

运行npm test 打开项目

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

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

以上这篇使用electron将vue-cli项目打包成exe的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的数学函数集合
May 08 Javascript
JavaScript下申明对象的几种方法小结
Oct 02 Javascript
Firefox div高度自适应
Apr 28 Javascript
jquery 学习笔记一
Apr 07 Javascript
详解基于Bootstrap扁平化的后台框架Ace
Nov 27 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
浅谈angularjs中响应回车事件
Apr 24 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
vue使用Google地图的实现示例代码
Dec 19 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 Javascript
vue3获取当前路由地址
Feb 18 Vue.js
脚手架vue-cli工程webpack的作用和特点
Sep 29 #Javascript
基于vue和react的spa进行按需加载的实现方法
Sep 29 #Javascript
使用Vuex解决Vue中的身份验证问题
Sep 28 #Javascript
js限制输入框只能输入数字(onkeyup触发)
Sep 28 #Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 #Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 #Javascript
javascript中toFixed()四舍五入使用方法详解
Sep 28 #Javascript
You might like
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
JS应用正则表达式转换大小写示例
2014/09/18 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
Python求导数的方法
2015/05/09 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
Python列表与元组的异同详解
2019/07/02 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
HTML5 body设置全屏背景图片的示例代码
2020/12/08 HTML / CSS
REISS英国官网:伦敦High Street最受欢迎品牌
2016/12/21 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
法国隐形眼镜网站:VisionDirect.fr
2020/03/03 全球购物
实习生个人找工作的自我评价
2013/10/30 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
大学生暑假实习总结
2015/07/13 职场文书
会计岗位工作总结
2015/08/12 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫