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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
JS setCapture 区域外事件捕捉
Mar 18 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
JQuery异步获取返回值中文乱码的解决方法
Jan 29 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
详解如何使用webpack打包JS
Jun 21 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
vue如何截取字符串
May 06 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
May 12 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 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 empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
php实现学生管理系统
2020/03/21 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
Python解析网页源代码中的115网盘链接实例
2014/09/30 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
python的链表基础知识点
2020/09/13 Python
美国眼镜网:GlassesUSA
2017/09/07 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
三严三实心得体会范文
2014/10/13 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python
springboot读取resources下文件的方式详解
2022/06/21 Java/Android