初识NodeJS-使用NodeJS开启第一个服务

NodeJS

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境
特点为:
1.拥有超强的高并发能力
2.依赖于Chrome V8引擎进行代码解释
3.异步事件驱动
4.非阻塞I/O
5.轻量、可伸缩,适于实时数据交互应用
6.单进程,单线程(这里指主线程)

初次使用nodeJS搭建http服务
获取访问网页的参数


//在node REPL交互式解释器中执行此文件
var http = require('http');
//引入url模块
var url = require('url');
//启用一个node服务
http.createServer(function (request, response) {
    //发送http头部 状态值200  内容类型:text/html
    response.writeHead(200, { 'Content-Type': 'text/html' });
    //打印
    //网页头部编码
    response.write("<head><meta charset='UTF-8'></head>");
    // 访问http://127.0.0.1:8888?name=zhang&age=18
    //获取参数name=zhang&age=18
    if (request.url != '/favicon.ico') {
        var querys = url.parse(request.url, true).query;
        console.log(querys.name, querys.age);//zhang 18

    }
    //结束
    response.end(`name=${querys.name},age=${querys.age}`);
}).listen(8888);

//终端打印
console.log('启动服务:http://127.0.0.1:8888');

//nodejs热部署superviso
//1.安装:npm install -g supervisor
//2.使用supervisor代替nodejs启动应用:supervisor 文件名


node服务器的监听操作
//在Node.js中events是比较重要
//events模块提供一个对象events.EventEmitter,
//EventEmitter的核心是事件发布与事件监听
//node.js大部分模块都继承Event模块
//EventEmitter支持若干个事件监听器
//当事件发布时,注册到这个事件的事件监听器被依次调用时,事件参数作为回调函数参数传递


//emitter.on(event,listener) 事件注册监听
//emitter.emit(event,arg1...)  事件触发
//emitter.once(event,listener)  单次事件注册监听
//emitter.removeListener(event,listener) 移除监听
var EventEmitter = require('events').EventEmitter;
var ee = new EventEmitter();

//事件监听注册
var evefun = function (foo, bas) {
    console.log(`监听事件:foo=${foo},bas=${bas}`);
}

ee.on('some_events', evefun)

//事件触发
ee.emit('some_events', 'was', '11')

//重复事件注册
console.log('事件触发二');

var evefun2 = function (foo, bas) {
    console.log(`监听事件:foo=${foo},bas=${bas}`);
}
ee.once('some_events', evefun2)
//前面有重复相同事件则会执行两次
//若使用once注册 则只会执行一次
ee.emit('some_events', 'was', '22')


//移除某一个事件
ee.removeListener('some_events', evefun2)
ee.emit('some_events', 'was', '33')

//移除所有事件
ee.removeAllListeners('some_events', function () {
    console.log('移除所有事件');
})
ee.emit('some_events', 'was', '44')//无事件执行


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值