使用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 相关文章推荐
js 操作select相关方法函数
Dec 06 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
Aug 07 Javascript
JQuery中使用.each()遍历元素学习笔记
Nov 08 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Dec 15 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
解决微信小程序中的滚动穿透问题
Sep 16 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
Oct 15 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
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
2014/05/10 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python操作xml文件详细介绍
2014/06/09 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
python http基本验证方法
2018/12/26 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
python从Oracle读取数据生成图表
2020/10/14 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
python中的对数log函数表示及用法
2020/12/09 Python
如何查看python关键字
2021/01/17 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
台湾东南旅游社网站:东南旅游
2019/02/11 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
《最后的姿势》教学反思
2014/02/27 职场文书
地球一小时宣传标语
2014/06/24 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
2014年个人工作总结范文
2014/11/07 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python