node事件处理

一、node的事件处理

1、node采用的是事件驱动模式来进行事件处理的。只有当事件被触发时才执行相关程序

2、node是单线程运行的:采用事件轮询的方式,不断地查询事件队列中的消息,然后根据消息执行对应的回调函数

3、node事件机制中的三个角色

(1)事件(event):使用node的内置模块"events"

(2)事件发射器(EventEmitter):是一个类,使用时创建该类的对象,通过对象调用以下方法。

addListener(事件名,事件处理程序)与addeventListener本质上一样,注册事件监听

on(事件名,事件处理程序):注册事件监听

removeListener(event,listener):删除事件监听

emit(事件名):手动触发指定的事件

(3)事件监听器(eventListenter):

node事件注册、触发事件

二、node的全局对象

1、全局变量

(1)、__filename:代表的是正在运行的文件名,带绝对路径的文件名(绝对路径+文件名)

(2)、__dirname:表示当前正在执行的文件所在的目录。

2、全局对象

process对象:存放node的进程信息,可以放在程序的任何位置,也不需用require进行加载

程序:静态的代码

进程:运行中的程序

线程:是进程的一个小的单元

process对象的属性:

(1)stdout:返回一个对象,代表一个标准的输出。它下面的方法write,作用和console.log方法一样。

(2)stdin:返回的是一个对象,代表一个标准输入。

三、node的readline模块

1、是node中实现标准输入输出的模块,可以逐行的读取终端的数据,使用时必须通过require将该模块引入

2、使用方法:

(1)引入模块:require("readline")

(2)创建readline模块的实例,该实例的input属性值就是process.stdin,output属性值是process.stdout

(3)注册事件监听,完成输入输出操作。

3、readline模块的事件:

line ---  会在用户输入一行,按回车键后触发

四、node的web编程

1、web服务器:专门处理通过http协议发送的用户请求的应用程序,可以给用户返回相应的信息,这些信息可以是文本、图片、html文档等。

2、web应用程序的体系结构:

(1)Client端:手机浏览器、电脑浏览器、客户端的应用程序等。

(2)Server端:拦截客户端通过http协议发出的请求

(3)Business:运行在server上的程序

(4)Data:数据

3、url模块:用来处理与解析url地址,可以将字符串转化成url对象,也可以将url对象转换成字符串。

(1)使用方法:引入:require(‘url’)

(2)url对象的属性:

hostname:主机名

port:端口号。计算机端口号编号(0~65535之间,其中0-1023系统占用。1024-65535之间的端口号都可以使用,有些特殊的端口号不能使用)

80:浏览网页

3306:MySQL数据库使用

27017:MongoDB数据库使用

query:url地址中的参数(去掉search中的?)(通常是客户端采用get方式发送请求时,再请求地址中带的参数。)

search:客户端的请求数据。包含了分隔符‘?以及地址和参数。

protocol:网络协议

host:主机名和端口号

href:将字符串转换后的url地址

(3)url对象的三种方法:

a、parse(字符串,[false/true]):将给定的字符串解析成url对象返回。

参数字符串:表示要转换的对象

第二个参数:默认值时false。若为true,表示将url对象的query属性转换成对象格式。

4、node Web变成示例  ---- 采用B/S结构(浏览器(客户端)/服务器模式)

(1)创建html页面:login.html  (包含form表单),通过表单发起请求。

(2)创建node的服务器端:node的http模块创建一个服务器(用来接收表单数据、并把表单的数据传回给前端)

(3)在服务器对编码信息进行处理

前端页面:

后端:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值