Electron 安装与使用
Electron是使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用
本文基于Windows进行开发的过程,记录下来,以便日后使用,Electron官网:https://electronjs.org/docs
1,安装node.js
进入官网下载、安装。https://nodejs.org/en/
2,安装cnpm
安装命令(打开系统的cmd.exe来执行命令): npm install -g cnpm --registry=https://registry.npm.taobao.org
3,安装Electron
安装命令: cnpm install -g electron
4,安装Electron-forge
Electron工具整合项目:https://github.com/electron-userland/electron-forge
安装命令: cnpm install -g electron-forge
5,新建项目
F盘新建Electron项目文件夹 F:\Electron。
在Electron文件夹下,按住Shift键并右键单击空白处,选择在此处打开命令窗口来启动cmd.exe。
执行 electron-forge init 项目名称 命令来生成名为myapp的项目文件夹,同时安装项目所需要的模块、依赖项等。
命令: electron-forge init myapp
6,启动项目
cd到myapp目录下,执行命令 electron-forge start 来启动app(也可以简单的用npm start来运行)。
7,项目文件
项目的目录结构:node_modules 文件夹下是各种模块、类库,src下是app的源代码文件,package.json是描述包的文件。
src/index.js:这是app主进程的入口,在这里创建了mainWindow浏览器窗口,
使用mainWindow.loadURL(\file://${__dirname}/index.html`)来加载index.html主页,
我们也可以在此链接我们需要链接的网址,来实现web桌面应用,例:mainWindow.loadURL(`https://www.cnblogs.com/`),
使用mainWindow.webContents.openDevTools()`来打开开发者工具用于调试(这个操作通常在发布app时删除)。
然后是app的事件处理:
ready: 当Electron完成初始化后触发,这里初始化后就会去创建浏览器窗口并加载主页面。
window-all-closed: 当所有浏览器窗口被关闭后触发,一般此时就退出应用了。
activate: 当app激活时触发,一般针对macOS要需要处理。
src/index.html:这是主页面,除了显示Well hey there!!!的信息外,没什么具体内容。
8,package.json配置
"productName": "myapp" 打包后的文件名称
"version": "1.0.0" 版本号
若想更换打包程序的图标,可以在config->electronPackagerConfig->icon中进行设置,
(例如:我们把app.ico放在src目录下就可以这样配置"icon":"src/favicon.ico")
9,编译打包
输入以下命令进行编译打包: npm run make
修改package.json,在electronPackagerConfig部分添加"asar": true。
"electronPackagerConfig": {
"asar": true
}
重新打包后源码文件会被打包进app.asar文件中(该文件仍然在src目录下)。
可以直接运行打包后的myapp.exe启动程序
Electron 安装与使用的更多相关文章
- electron 安装
1.从网上下载的是nodejs的v0.10.42版本的安装文件,安装node-v0.10.42-x86.msi都使用默认安装,安装完成后会安装在C:\Program Files\nodejs\目录下, ...
- Electron安装过程深入解析(读完此文解决Electron应用无法启动,无法打包的问题)
1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装 ...
- Electron安装
1.安装nodejs和npm 官网下载地址:https://nodejs.org/en/download/ 安装包:下载.msi 安装完成后: nodejs.npm都会安装好,path环境变量也自动设 ...
- electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动
1.初始化node项目,生成package.json文件 npm init 2.安装electron,并保存为开发依赖项 npm install electron -D 3.根目录下新建index.j ...
- electron安装到第一个实例
1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.cmd下输入:npm install electron-prebu ...
- electron安装与使用
系统 WIN10 X64 1. python-2.7.15.amd64.msi 2. node-v10.4.1-x64.msi 3. VS2015 community(社区版) 4. npm conf ...
- electron 安装失败解决办法
1.安装node https://nodejs.org/en/download/2.安装镜像工具npm install -g cnpm --registry=https://registry.npm. ...
- electron 安装使用
1.安装 node.js 链接:http://pan.baidu.com/s/1o7W7BIy 密码:y6od 一路next 我安装在F:\Program Files\node.js下 2.检查nod ...
- 为Electron 安装 vue-devtool等扩展
相关代码: https://github.com/WozHuang/Barrage-helper/blob/master/src/main/index.dev.js 在SPA逐渐成为构建优秀交互体验应 ...
随机推荐
- delphi webbrowser 常用方法示例
var Form : IHTMLFormElement ; D:IHTMLDocument2 ; begin with WebBrowser1 do begin D := Document as IH ...
- WebHttpBinding.ReaderQuotas 无法设置或者无法点出来
项目需要引用System.Runtime.Serialization.dll 才能设置各项值: binding.ReaderQuotas.MaxDepth = ; binding.ReaderQuot ...
- vagrant 相关记录
最近安装vagrant 出错的最大的可能性是BOX 路径不太对, 好像和目录的大小写有关系,请检查 $ vagrant init # 初始化$ vagrant up # 启动虚拟机$ vagrant ...
- Linux学习系列之Nginx调优实战
Nginx配置文件性能微调 全局的配置 user www-data; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofi ...
- 扩展Linq的Distinct方法动态根据条件进行筛选
声明为了方便自己查看所以引用 原文地址:http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062.html Person1: Id=1, Nam ...
- Hive插入数据的几种常用方法
Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...
- logger示例
胜哥版 打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态.Python标准库提供了logging模块,让我们也可以方便的在Python中打印日志. 日志介绍 完整的使用方 ...
- Androdi Gradle build project info 很慢
Androdi Gradle build project info 很慢 http://blog.csdn.net/stupid56862/article/details/78345584 原创 ...
- django-控制mysql事物
from django.db import transaction 两种方式控制事务:为了保持数据一致性 一个Book表,一个Author表.添加一本书,也要保证添加作者.By事物控制 book = ...
- 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结
(1)普通方法调用(直接调用)与Invoke()方法调用方法 使用的线程Id是一样的 即属于同步. (2)BeginInvoke(<输入和输出变量>,AsyncCallback callb ...