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 相关文章推荐
SwfUpload在IE10上不出现上传按钮的解决方法
Jun 25 Javascript
Javascript数组与字典用法分析
Dec 13 Javascript
浅谈Javascript 数组与字典
Jan 29 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
属于你的jQuery提示框(Tip)插件
Jan 20 Javascript
KnockoutJs快速入门教程
May 16 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
3分钟读懂移动端rem使用方法(推荐)
May 06 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
Sep 03 Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 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
编写自己的php扩展函数
2006/10/09 PHP
用PHP制作静态网站的模板框架(二)
2006/10/09 PHP
php下使用iconv需要注意的问题
2010/11/20 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
php查询及多条件查询
2017/02/26 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
javascript 写类方式之八
2009/07/05 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
BootStrap 获得轮播中的索引和当前活动的焦点对象
2017/05/11 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
python发腾讯微博代码分享
2014/01/10 Python
python原始套接字编程示例分享
2014/02/21 Python
Python中的各种装饰器详解
2015/04/11 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
电子专业自荐信
2014/07/01 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
党支部对转正的意见
2015/06/02 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python
python异常中else的实例用法
2021/06/15 Python