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 安装与使用的更多相关文章

  1. electron 安装

    1.从网上下载的是nodejs的v0.10.42版本的安装文件,安装node-v0.10.42-x86.msi都使用默认安装,安装完成后会安装在C:\Program Files\nodejs\目录下, ...

  2. Electron安装过程深入解析(读完此文解决Electron应用无法启动,无法打包的问题)

    1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装 ...

  3. Electron安装

    1.安装nodejs和npm 官网下载地址:https://nodejs.org/en/download/ 安装包:下载.msi 安装完成后: nodejs.npm都会安装好,path环境变量也自动设 ...

  4. electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动

    1.初始化node项目,生成package.json文件 npm init 2.安装electron,并保存为开发依赖项 npm install electron -D 3.根目录下新建index.j ...

  5. electron安装到第一个实例

    1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.cmd下输入:npm install electron-prebu ...

  6. electron安装与使用

    系统 WIN10 X64 1. python-2.7.15.amd64.msi 2. node-v10.4.1-x64.msi 3. VS2015 community(社区版) 4. npm conf ...

  7. electron 安装失败解决办法

    1.安装node https://nodejs.org/en/download/2.安装镜像工具npm install -g cnpm --registry=https://registry.npm. ...

  8. electron 安装使用

    1.安装 node.js 链接:http://pan.baidu.com/s/1o7W7BIy 密码:y6od 一路next 我安装在F:\Program Files\node.js下 2.检查nod ...

  9. 为Electron 安装 vue-devtool等扩展

    相关代码: https://github.com/WozHuang/Barrage-helper/blob/master/src/main/index.dev.js 在SPA逐渐成为构建优秀交互体验应 ...

随机推荐

  1. delphi webbrowser 常用方法示例

    var Form : IHTMLFormElement ; D:IHTMLDocument2 ; begin with WebBrowser1 do begin D := Document as IH ...

  2. WebHttpBinding.ReaderQuotas 无法设置或者无法点出来

    项目需要引用System.Runtime.Serialization.dll 才能设置各项值: binding.ReaderQuotas.MaxDepth = ; binding.ReaderQuot ...

  3. vagrant 相关记录

    最近安装vagrant 出错的最大的可能性是BOX 路径不太对, 好像和目录的大小写有关系,请检查 $ vagrant init # 初始化$ vagrant up # 启动虚拟机$ vagrant ...

  4. Linux学习系列之Nginx调优实战

    Nginx配置文件性能微调 全局的配置 user www-data; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofi ...

  5. 扩展Linq的Distinct方法动态根据条件进行筛选

    声明为了方便自己查看所以引用 原文地址:http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062.html Person1: Id=1, Nam ...

  6. Hive插入数据的几种常用方法

    Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...

  7. logger示例

    胜哥版 打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态.Python标准库提供了logging模块,让我们也可以方便的在Python中打印日志. 日志介绍 完整的使用方 ...

  8. Androdi Gradle build project info 很慢

    Androdi Gradle build project info 很慢 http://blog.csdn.net/stupid56862/article/details/78345584   原创  ...

  9. django-控制mysql事物

    from django.db import transaction 两种方式控制事务:为了保持数据一致性 一个Book表,一个Author表.添加一本书,也要保证添加作者.By事物控制 book = ...

  10. 普通方法调用,Invoke,begininvoke三者的区别总结及异步与同步的区别总结

    (1)普通方法调用(直接调用)与Invoke()方法调用方法 使用的线程Id是一样的 即属于同步. (2)BeginInvoke(<输入和输出变量>,AsyncCallback callb ...