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 相关文章推荐
javascript编程起步(第六课)
Jan 10 Javascript
js兼容标准的表格变色效果
Jun 28 Javascript
javaScript 关闭浏览器 (不弹出提示框)
Jan 31 Javascript
JavaScript数字和字符串转换示例
Mar 26 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
bootstrap IE8 兼容性处理
Mar 22 Javascript
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
使用js获取伪元素的content实例
Oct 24 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
详解Vue中的自定义指令
Dec 07 Vue.js
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向js函数传参的几种方法
2014/08/10 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
django queryset相加和筛选教程
2020/05/18 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
四好少年事迹材料
2014/01/12 职场文书
银行存款证明样本
2014/01/17 职场文书
党校培训自我鉴定
2014/02/01 职场文书
网络编辑岗位职责
2014/03/18 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
毕业生工作求职信
2014/06/30 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python