使用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 相关文章推荐
JQuery开发的数独游戏代码
Oct 29 Javascript
jquery里的each使用方法详解
Dec 22 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
Apr 15 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
Jul 14 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
Aug 15 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
微信小程序 利用css实现遮罩效果实例详解
Jan 21 Javascript
深入理解js中的加载事件
Feb 08 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
Jun 12 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 Javascript
脚手架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
介绍几个array库的新函数 php
2006/12/29 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python实现统计单词出现的个数
2015/05/28 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python使用KNN算法手写体识别
2018/02/01 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Python装饰器的应用场景代码总结
2020/04/10 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
毕业生求职推荐信
2013/11/04 职场文书
企业安全生产承诺书
2014/05/22 职场文书
保护动物的宣传语
2015/07/13 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
python源码剖析之PyObject详解
2021/05/18 Python