使用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 相关文章推荐
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
Feb 07 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
由浅入深剖析Angular表单验证
Jul 14 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
详解Angular操作cookies方法
Jun 01 Javascript
微信小程序实现的动态设置导航栏标题功能示例
Jan 31 Javascript
微信小程序实现分享商品海报功能
Sep 30 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
Nov 16 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 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
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
Python类定义和类继承详解
2015/05/08 Python
Scrapy的简单使用教程
2017/10/24 Python
Python算法之图的遍历
2017/11/16 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
Python如何将函数值赋给变量
2020/04/28 Python
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
公司总经理岗位职责
2014/03/15 职场文书
房屋买卖协议书
2014/04/10 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
店铺转让协议书
2014/12/02 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
Java异常处理try catch的基本用法
2021/12/06 Java/Android
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL