使用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 13 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
jQuery的学习步骤
Feb 23 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
Vue.js render方法使用详解
Apr 05 Javascript
React + webpack 环境配置的方法步骤
Sep 07 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
Vue.js单向绑定和双向绑定实例分析
Aug 14 Javascript
vuex actions传递多参数的处理方法
Sep 18 Javascript
JQuery常用选择器功能与用法实例分析
Dec 23 jQuery
Angular8 实现table表格表头固定效果
Jan 03 Javascript
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 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 DataGrid 实现代码
2009/08/12 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
微信第三方登录(原生)demo【必看篇】
2017/05/26 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
基于vue的video播放器的实现示例
2021/02/19 Vue.js
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python 字典dict使用介绍
2014/11/30 Python
简单实现python聊天程序
2018/04/01 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
来自全球大都市的高级街头服饰:Pegador
2018/01/03 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
高中生毕业学习总结的自我评价
2013/11/14 职场文书
满月酒答谢词
2014/01/14 职场文书
招商专员岗位职责
2014/02/08 职场文书
教师个人自我鉴定
2014/02/08 职场文书
婚假请假条怎么写
2014/04/10 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
讲解Python实例练习逆序输出字符串
2022/05/06 Python