资讯专栏INFORMATION COLUMN

Electron写桌面应用入门

lixiang / 356人阅读

摘要:本节目标你可以在分钟内开始运行一个最简单。是一个能帮你用来写桌面程序的项目。原先是为打造的,后来直接演化成兄弟项目。现在已经有很多大厂也开始使用来写桌面了。全局安装,因为我们要用到它的命令行。完美天才第一步,达成

本节目标:你可以在10分钟内开始运行一个最简单electron app。不要考虑太多的概念,直接复制粘贴开始吧。

Electron是一个能帮你用JS来写桌面程序的node项目。原先是为Atom打造的,后来直接演化成兄弟项目。现在已经有很多大厂也开始使用Electron来写桌面app了。比如独角兽slack、微软的VS code、avocode、weFlow等等等等。

ok,接下来就让我们来开始动手吧。以下内容除去下载文件的时间,三分钟就可以完成。

1.安装Electron。

// 全局安装electron,因为我们要用到它的命令行。
$ npm install electron -g

// 但是npm安装electron要从国外下载一个45MB左右的zip包,特别的慢(8KB...),所以我们可以采用下面的这条安装命令。
// 这条安装命令会从淘宝的镜像站下载这个zip包,速度很快,达到你的带宽巅峰。
$ npm install electron -g --registry=http://registry.npm.taobao.org

// 当然你也可以使用cnpm来全局安装electron
$ npm install cnpm -g --registry=http://registry.npm.taobao.org
$ cnpm install electron -g

2.准备三个小文件(以下内容直接粘贴复制)
本部分来自于官网quick start。

新建一个项目目录文件夹,名字就叫desktopApp好了。
新建三个文件

desktopApp/
├── package.json
├── main.js
└── index.html

三个文件填入以下内容:

在package.json中:

{
  "name"    : "your-app",
  "version" : "0.1.0",
  "main"    : "main.js"
}

在main.js中

const {app, BrowserWindow} = require("electron")
const path = require("path")
const url = require("url")

// Keep a global reference of the window object, if you don"t, the window will
// be closed automatically when the JavaScript object is garbage collected.
let win

function createWindow () {
  // Create the browser window.
  win = new BrowserWindow({width: 800, height: 600})

  // and load the index.html of the app.
  win.loadURL(url.format({
    pathname: path.join(__dirname, "index.html"),
    protocol: "file:",
    slashes: true
  }))

  // Open the DevTools.
  win.webContents.openDevTools()

  // Emitted when the window is closed.
  win.on("closed", () => {
    // Dereference the window object, usually you would store windows
    // in an array if your app supports multi windows, this is the time
    // when you should delete the corresponding element.
    win = null
  })
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on("ready", createWindow)

// Quit when all windows are closed.
app.on("window-all-closed", () => {
  // On macOS it is common for applications and their menu bar
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== "darwin") {
    app.quit()
  }
})

app.on("activate", () => {
  // On macOS it"s common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (win === null) {
    createWindow()
  }
})

// In this file you can include the rest of your app"s specific main process
// code. You can also put them in separate files and require them here.

在index.html中



  
    
    Hello World!
  
  
    

Hello World!

We are using node , Chrome , and Electron .

3.运行
在这个项目目录下面运行一条命令就可以启动我们的app了。

$ electron .

Done!完美!天才第一步,达成!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86612.html

相关文章

  • Electron入门介绍

    摘要:本文主要讲解的入门。可以帮助我们管理包的下载依赖部署发布等。可以认为是中的。后续使用中,全部替换为即可。命令根据它,自动下载所需模块用于创建窗口和处理系统事件安装包的位置。 Electron是什么 可以认为Electron是一种运行环境库,我们可以基于此,用HTML、JS和CSS写桌面应用。PC端的UI交互,主要有web应用和桌面应用。具体采用哪种方式,主要看系统的应用场景,哪个更合适...

    wing324 评论0 收藏0
  • 一口气完成electron入门学习

    摘要:目前类似的工具有,等。在渲染进程中,直接调用原生的接口是十分危险的。这里介绍一种,通过和对象,以消息的方式进行通信。主进程获得消息后,通过返回信息。另外,还提供了一种同步的消息传递方式。打包完成功能代码后,我们需要将代码打成可运行的包。 介绍 目前,使用前端技术开发桌面应用已经越来越成熟,这使得前端同学也可以参与桌面应用的开发。目前类似的工具有electron,NW.js等。这里我们着...

    Ethan815 评论0 收藏0
  • Electron,从玩玩具的心态开始,到打造出一款越来越优秀的桌面客户端产品

    摘要:首发于酷家乐前端博客标题是我以第一视角基于开发客户端产品的体验,我将在之后分一系列文章向有兴趣的朋友一步一步介绍我是怎么从玩玩具的心态开始接触到去开发客户端产品,最后随着业务和功能的复杂度提升再不断地优化客户端。 首发于酷家乐前端博客 标题是我以第一视角基于 Electron 开发客户端产品的体验,我将在之后分一系列文章向有兴趣的朋友一步一步介绍我是怎么从玩玩具的心态开始接触 Ele...

    Markxu 评论0 收藏0
  • Electron 快速入门

    摘要:当一个实例被销毁后,相应的渲染进程也会被终止。之所以命名为,主要是为了与主进程这个概念对应。部分在事件触发后才能使用。当全部窗口关闭时退出。主进程接收到消息并处理之后,会返回处理结果。 简介 Electron 是一个可以使用 Web 技术如 JavaScript、HTML 和 CSS 来创建跨平台原生桌面应用的框架。借助 Electron,我们可以使用纯 JavaScript 来调用丰...

    Drummor 评论0 收藏0
  • Electron指南 - 快速入门

    摘要:快速入门提供了丰富的本地操作系统的,使你能够使用纯来创建桌面应用程序。这并不意味着是一个绑定图形用户界面的库。每个页面在里是运行在自己的进程里,这些进程被称为渲染进程。有些只能在该事件发生后才能被使用。 快速入门 Electron提供了丰富的本地(操作系统)的API,使你能够使用纯JavaScript来创建桌面应用程序。与其它各种的Node.js运行时不同的是Electron专注于桌面...

    SQC 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<