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 OFFICE控件测试代码
Dec 08 Javascript
javascript操作cookie的文章(设置,删除cookies)
Apr 01 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
原生js和jquery实现图片轮播淡入淡出效果
Apr 23 Javascript
jQuery实现Tab选项卡切换效果简单演示
Nov 23 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
Mar 14 Javascript
JS中通过url动态获取图片大小的方法小结(两种方法)
Oct 31 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
通过GASP让vue实现动态效果实例代码详解
Nov 24 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的开发框架的现状和展望
2007/03/16 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
node.js中的fs.createWriteStream方法使用说明
2014/12/17 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
Es6 写的文件import 起来解决方案详解
2016/12/13 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
2016/12/19 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
python写日志封装类实例
2015/06/28 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
django 读取图片到页面实例
2020/03/27 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
标准单位租车协议书
2014/09/23 职场文书
解除劳动合同证明书
2014/09/26 职场文书
单位实习工作证明怎么写
2014/11/02 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
南京导游词
2015/02/03 职场文书
资金申请报告范文
2015/05/14 职场文书
庆元旦主持词
2015/07/06 职场文书
办公室管理规章制度
2015/08/04 职场文书
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js