electron 安装,调试,打包的具体使用


Posted in Javascript onNovember 06, 2019

项目推荐

想要快速的了解 electron, 调试 electron, 打包 electron, 推荐项目electron-webpack-quick-start

快速开始

先安装 cross-env,用于设置环境变量。因为在后面安装electron, 需要下载, 默认的源在国内下载很慢,需要通过设置环境变量来切换下载地址

#安装cross-env,用于设置环境变量的
npm install cross-env -g

Clone项目到本地

# Clone repository
git clone https://github.com/electron-userland/electron-webpack-quick-start.git

进入项目目录

cd electron-webpack-quick-start

安装项目依赖

cross-env ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/" npm install

对比 electron 7.0.0,说明下为什么没有设置npm_config_electron_custom_dir 环境变量。该项目用的 electron版本是 5.0.6,所以环境变量只用设置 ELECTRON_MIRROR。可以看下 electron-download文件下的 index.js文件,只有默认 url 里加了 v, 设置 ELECTRON_MIRROR 后, url 里不会带 v

get baseUrl () {
  if (this.version.indexOf('nightly') !== -1) {
   return process.env.NPM_CONFIG_ELECTRON_NIGHTLY_MIRROR ||
    process.env.npm_config_electron_nightly_mirror ||
    process.env.npm_package_config_electron_nightly_mirror ||
    process.env.ELECTRON_NIGHTLY_MIRROR ||
    this.opts.nightly_mirror ||
    'https://github.com/electron/nightlies/releases/download/v'
  }
  return process.env.NPM_CONFIG_ELECTRON_MIRROR ||
   process.env.npm_config_electron_mirror ||
   process.env.npm_package_config_electron_mirror ||
   process.env.ELECTRON_MIRROR ||
   this.opts.mirror ||
   'https://github.com/electron/electron/releases/download/v'
 }

体验调试

输入命令

npm run dev

效果图

electron 安装,调试,打包的具体使用

体验编译

输入命令

npm run compile

效果图

electron 安装,调试,打包的具体使用

体验打包

我想打包成一个免安装的 exe程序,所以我在 package.json 文件里添加了:

"build": {
  "productName": "HelloWord",
  "appId": "scripter.HelloWord",
  "win": {
   "target": ["portable"]
  },
  "portable": {
   "artifactName": "HelloWord.exe"
  }
 }

整个 package.json 内容如下:

{
 "name": "electron-webpack-quick-start",
 "version": "0.0.0",
 "license": "MIT",
 "scripts": {
  "dev": "electron-webpack dev",
  "compile": "electron-webpack",
  "dist": "yarn compile && electron-builder",
  "dist:dir": "yarn dist --dir -c.compression=store -c.mac.identity=null"
 },
 "dependencies": {
  "source-map-support": "^0.5.12"
 },
 "devDependencies": {
  "electron": "5.0.6",
  "electron-builder": "^21.0.11",
  "electron-webpack": "^2.7.4",
  "webpack": "~4.35.3"
 },
 "build": {
  "productName": "HelloWord",
  "appId": "scripter.HelloWord",
  "win": {
   "target": ["portable"]
  },
  "portable": {
   "artifactName": "HelloWord.exe"
  }
 }
}

输入命令

npm run dist

这步第一次运行的时候很慢,因为要下载,第一次运行图:

electron 安装,调试,打包的具体使用

第二次运行,就快多了,不过 building 这里有点慢,第二次运行图:

electron 安装,调试,打包的具体使用

生成的免安装的 exe见下图, 想要给别人用,只需拷这个就行。我运行了下,启动速度有点慢, 花了11秒。

electron 安装,调试,打包的具体使用

程序运行效果图

electron 安装,调试,打包的具体使用

体验完毕,可以开始学习 electron了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
懒就要懒到底——鼠标自动点击(含时间判断)
Feb 20 Javascript
用JavaScript编写COM组件的步骤
Mar 17 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
Apr 14 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
Apr 30 Javascript
详解浏览器渲染页面过程
Feb 09 Javascript
javascript实现二叉树的代码
Jun 08 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
webpack-url-loader 解决项目中图片打包路径问题
Feb 15 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
Sep 11 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 Javascript
JSONP 的原理、理解 与 实例分析
May 16 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 #Javascript
在vue中阻止浏览器后退的实例
Nov 06 #Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
Nov 06 #Javascript
vue项目强制清除页面缓存的例子
Nov 06 #Javascript
关于vue路由缓存清除在main.js中的设置
Nov 06 #Javascript
JS实现随机抽取三人
Nov 06 #Javascript
Node对CommonJS的模块规范
Nov 06 #Javascript
You might like
咖啡的化学
2021/03/03 咖啡文化
php网上商城购物车设计代码分享
2012/02/15 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
让您的菜单不离网站
2006/10/03 Javascript
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python批量更改文件名的实现方法
2017/10/29 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Matplotlib.pyplot 三维绘图的实现示例
2020/07/28 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
煤矿安全生产标语
2014/06/06 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
毕业生见习报告总结
2014/11/08 职场文书
500字小学生检讨书
2015/02/19 职场文书
海底两万里读书笔记
2015/06/26 职场文书
新闻稿件写作范文
2015/07/18 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python