使用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对IE操作的经典代码(推荐)
Mar 10 Javascript
JS生成不重复随机数组的函数代码
Jun 10 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
jQuery平滑旋转幻灯片特效代码分享
Sep 07 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
JavaScript实现经典排序算法之选择排序
Dec 28 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
Jun 19 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
Vue 中的受控与非受控组件的实现
Dec 17 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
Vue3实现简易音乐播放器组件
Aug 14 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
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
删除重复数据的算法
2006/11/23 Javascript
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
JS作用域深度解析
2016/12/29 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
typescript配置alias的详细步骤
2020/08/12 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
django框架面向对象ORM模型继承用法实例分析
2019/07/29 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
如何基于python操作json文件获取内容
2019/12/24 Python
python IDLE添加行号显示教程
2020/04/25 Python
解决python对齐错误的方法
2020/07/16 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Python项目打包成二进制的方法
2020/12/30 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
先进党支部事迹材料
2014/01/13 职场文书
小学教师国培感言
2014/02/08 职场文书
专科生就业求职信
2014/06/22 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
户籍证明格式
2014/09/15 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python