使用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 相关文章推荐
ExtJs事件机制基本代码模型和流程解析
Oct 24 Javascript
js 使用form表单select类实现级联菜单效果
Dec 19 Javascript
escape函数解决js中ajax传递中文出现乱码问题
Oct 30 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
学习JavaScript设计模式之单例模式
Jan 19 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
Aug 31 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
js实现input密码框显示/隐藏功能
Sep 10 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
JS实现烟花爆炸效果
Mar 10 Javascript
微信小程序实现canvas分享朋友圈海报
Jun 21 Javascript
分享几个JavaScript运算符的使用技巧
Apr 24 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
php数组去重的函数代码
2013/02/03 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
Angular+Node生成随机数的方法
2017/06/16 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
Vue+element+cookie记住密码功能的简单实现方法
2020/09/20 Javascript
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
python实现绘制树枝简单示例
2014/07/24 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python pip配置国内源的方法
2020/02/14 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
Html5移动端获奖无缝滚动动画实现示例
2018/06/25 HTML / CSS
软件设计的目标是什么
2016/12/04 面试题
人事助理岗位职责
2013/11/18 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
2014年纪委工作总结
2014/12/05 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python