文档章节

electron学习(1):主进程

没文化不开心
 没文化不开心
发布于 2017/08/13 14:52
字数 438
阅读 61
收藏 0

想做一个小app,读取图片目录,存储图片md5,去重,分类等功能。

主进程就是main.js里运行的脚本,其他的是渲染进程

1.安装:  记得换淘宝源,否则安装会报错!

npm --registry https://registry.npm.taobao.org install electron --save-dev --save-exact

2.packjson里

"main": "main.js",

scripts加入       npm start启动     

"start":"electron .",

3.创建main.js   index.html

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

// 保持一个对于 window 对象的全局引用,如果你不这样做,
// 当 JavaScript 对象被垃圾回收, window 会被自动地关闭
let win

function createWindow () {
    // 创建浏览器窗口。
    win = new BrowserWindow({width: 800, height: 600})

    // 加载应用的 index.html。
    win.loadURL(url.format({
        pathname: path.join(__dirname, 'index.html'),   //index位置
        protocol: 'file:',  //协议
        slashes: true    //是否有双斜线
    }))

    // 打开开发者工具。
    win.webContents.openDevTools()

    // 当 window 被关闭,这个事件会被触发。
    win.on('closed', () => {
        // 取消引用 window 对象,如果你的应用支持多窗口的话,
        // 通常会把多个 window 对象存放在一个数组里面,
        // 与此同时,你应该删除相应的元素。
        win = null
    })
}

// Electron 会在初始化后并准备
// 创建浏览器窗口时,调用这个函数。
// 部分 API 在 ready 事件触发后才能使用。
app.on('ready', createWindow)

// 当全部窗口关闭时退出。
app.on('window-all-closed', () => {
    // 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
    // 否则绝大部分应用及其菜单栏会保持激活。
    if (process.platform !== 'darwin') {   //如果不是macOS系统
    app.quit()
}
})

app.on('activate', () => {
    // 在这文件,你可以续写应用剩下主进程代码。
    // 也可以拆分成几个文件,然后用 require 导入。
    if (win === null) {
    createWindow()
}
})

// 在这文件,你可以续写应用剩下主进程代码。
// 也可以拆分成几个文件,然后用 require 导入。

 

© 著作权归作者所有

没文化不开心

没文化不开心

粉丝 4
博文 43
码字总数 16522
作品 0
大兴
私信 提问
初探Electron,从入门到实践

本文由葡萄城技术团队于博客园原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 在开始之前,我想您一定会有这样的困惑:标题里的E...

葡萄城技术团队
08/29
72
0
Electron构建跨平台应用Mac/Windows/Linux

入门基础笔记,这里记录一下 一、前言 和 都可以用前端的知识来开发桌面应用。 和 起初是同一 个作者开发。后来种种原因分为两个产品。一个命名为 (英特尔公司提供技术支持)、 另一命名为 (G...

Poetries
01/22
0
0
一口气完成electron的入门学习

介绍 目前,使用前端技术开发桌面应用已经越来越成熟,这使得前端同学也可以参与桌面应用的开发。目前类似的工具有electron,NW.js等。这里我们着重介绍下electron。 electron开发 electron...

chenhao_ch
2017/11/29
0
0
electron打包更新与集成sqlite小总结

本文主要讲以下几点 简单介绍electron electron的进程与渲染层通讯 electron的打包配置 electron的自动更新 electron如何集成sqlite3 electron的资料分享 electron在内网开发的一点点建议 el...

coderlfy
04/03
0
0
Electron,从玩玩具的心态开始,到打造出一款越来越优秀的桌面客户端产品 —— 一份不是「Hello Word」的吊胃口的Quick Start

首发于酷家乐前端博客 标题是我以第一视角基于 Electron 开发客户端产品的体验,我将在之后分一系列文章向有兴趣的朋友一步一步介绍我是怎么从玩玩具的心态开始接触 Electron 到去开发客户端...

Stinson_Zhao
2017/10/23
9K
35

没有更多内容

加载失败,请刷新页面

加载更多

DevOps是如何实现效率的提升?

随着企业业务对软件系统日益依赖,IT管理与研发模式也随之对“敏态”模式产生了需求,也就是今天时常提起的DevOps。提升效率,是DevOps实践的核心内容之一。就让我们来一起从软件生命周期的业...

嘉为科技
29分钟前
3
0
总结:linux目录之proc

我们系统大部分的基础数据采集,其实就是读取proc目录下的文件,并解析获取数据的过程。 1、如cpu利用率:直接cat /proc/cpuinfo命令,然后获取输出内容,并解析里面的数据,如cpu核数等; ...

浮躁的码农
31分钟前
3
0
比原Bapp红包应用

喜迎国庆期间,比原链在自己的移动端钱包Bycoin(下载地址)和google插件钱byone中推出了红包应用,在国庆期间深受大家好评。 那我们今天就来大概介绍一下比原红包,以及基于比原链开发dapp应用...

比原链Bytom
32分钟前
3
0
Linux中没有rc.local文件的解决方法

Linux中没有rc.local文件的解决方法是什么呢?这应该是很多工程师比较头疼的问题,下面就给大家例举几个解决办法。 比较新的Linux发行版已经没有rc.local文件了。因为已经将其服务化了。 解决...

xiangyunyan
32分钟前
2
0
数据中台在阿里巴巴集团内部的实践情况

作者:品鉴 数据中台门在阿里巴巴集团干什么的,由哪个部门掌管?数据中台在阿里巴巴的主要作用是什么呢?外面吹嘘这么神秘的数据中台在阿里实践的如何呢?今天小编正好要采访数据技术及产品...

阿里云官方博客
32分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部