node.js之学习

创建第一个应用

var http = require('http')
http.createServer(function(req,res) {
    //发送http头部
    //状态码200
    //内容类型:text/plain
    res.writeHead(200,{'Content-Type':'text/plain'});
    //发送响应信息
    res.end('hello world')
}).listen(8080)
  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。

repl(交互式解释器)

ctrl + c - 退出当前终端。
ctrl + c 按下两次 - 退出 Node REPL。
ctrl + d - 退出 Node REPL.
向上/向下 键 - 查看输入的历史命令
tab 键 - 列出当前命令
.help - 列出使用命令
.break - 退出多行表达式
.clear - 退出多行表达式
.save filename - 保存当前的 Node REPL 会话到指定文件
.load filename - 载入当前 Node REPL 会话的文件内容。

回调函数

不阻塞:

var fs = require('fs');
var data = fs.readFile('ball.html',function(err,data) {
    console.log(data.toString());
})
console.log('success')

阻塞:

var anoData = fs.readFileSync('cors.html')
console.log(anoData.toString())
console.log('success')

事件循环

Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。
Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。

var EventEmitter = require('events').EventEmitter;
var life = new EventEmitter();
life.setMaxListeners(5)//某个事件名出现的最多次数
life.on('dis',function() {
    console.log('dis')
})
life.on('dis',function() {
    console.log('dis')
})
life.on('dis',function() {
    console.log('dis')
})
life.on('dis',function() {
    console.log('dis')
})
life.on('ddd',water)
life.on('ddd',function(){
    console.log('ddd2')
})
function water(){
    console.log('ddd')
}
//life.removeListener('ddd',water)//移除事件
//life.removeAllListeners()
var ddd = life.emit('ddd')
var ss = life.emit('ss')
console.log(dis)
console.log(ddd)
console.log(ss)
console.log(life.listeners('dis').length)//某个事件的个数
console.log(EventEmitter.listenerCount(life,'dis'))//某个事件的个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值