(一)Electron入门介绍
2016-03-27 01:30
801 查看
Electron介绍
在PC端混合app开发中,nwjs和electron都是可选的方案,它们都是基于Chromium和Node的结合体, 而electron相对而言是更好的选择方案,它的社区相对比较活跃,bug比较少,文档先对利索简洁。现在electron支持window 7和之上版本,osx 10.9之后,linux等等,各个平台大部分都是一致的,有部分细节稍有不同。
我们先还是已electron的一个sample开始,先安装git以及node,然后把sample clone 下来。
实例
git clone https://github.com/atom/electron-quick-start cd electron-quick-start npm i //安装依赖包 npm start
—————————————————-
tips
如果npm i 不能顺利下载electron的二进制文件,就到淘宝的镜像去下载,然后解压到一个文件夹然后设置package.json
—————————————————-
运行结果如下:那我们看看main.js的代码:
const electron = require('electron'); const app = electron.app; const BrowserWindow = electron.BrowserWindow;
electron是一个全局模块。app代表一个进程,BrowserWindow代表一个窗口。
app.on('ready', createWindow); app.on('window-all-closed', function () { if (process.platform !== 'darwin') { app.quit(); } }); app.on('activate', function () { if (mainWindow === null) { createWindow(); } });
这几个是app的常用事件,ready事件会在app初始化一些信息之后调用,一般程序的入口在ready事件之后调用,如:createWindow.
window-all-closed是所有 窗口close之后触发的消息,activate是针对osx的消息,当窗口激活的时候调用。
function createWindow () { // Create the browser window. mainWindow = new BrowserWindow({width: 800, height: 600}); mainWindow.loadURL('file://' + __dirname + '/index.html'); mainWindow.webContents.openDevTools(); mainWindow.on('closed', function() { mainWindow = null; }); }
new BrowserWindow 创建一个窗口,详细参数课参考electron官网。
mainWindow.loadURL 加载一个url,可以是本地文件或者是远程url.
mainWindow.webContents.openDevTools();开启调试窗口。
几种运行方式
1.
electron . or electron app/
运行一个目录,这个目录必须符合Node 模块规范。
2.
electron app.js
直接已一个js文件为入口。
3.
electron
没有参数的时候默认是运行当前的resources/app目录或者resources/app.asar(.asar是一种压缩文件,详情参考官网),这两个都不存在的时候运行resources/default_app.
相关文章推荐
- 超过 77% 的桌面计算机运行基于 Chromium 的浏览器
- 微软发布令牌漏洞公告:可绕过 Chromium 沙盒执行任意代码
- 快速掌握Node.js环境的安装与运行方法
- Windows系统下Node.js的简单入门教程
- 在Node.js应用中使用Redis的方法简介
- 在Ubuntu系统上安装Ghost博客平台的教程
- Node.js编程中客户端Session的使用详解
- 使用Raygun对Node.js应用进行错误处理的方法
- 在Mac OS下使用Node.js的简单教程
- node.js抓取并分析网页内容有无特殊内容的js文件
- 在Linux系统中搭建Node.js开发环境的简单步骤讲解
- 详解Node.js包的工程目录与NPM包管理器的使用
- 浅析Node在构建超媒体API中的作用
- 在Node.js中使用HTTP上传文件的方法
- 举例讲解Node.js中的Writable对象
- 初步使用Node连接Mysql数据库
- Node调试工具JSHint的安装及配置教程
- Node.js本地文件操作之文件拷贝与目录遍历的方法
- Node.js实现简单聊天服务器