原生NodeJs:
优点:
- 单线程执行成多线程,
- 非阻塞I/O,
- 事件环机制;
不会傻等一个事件结束再执行下一个,会采用异步的方式执行事件,当遇到需要读取磁盘或者数据库等操作时,会将其塞入事件环中,形成非阻塞I/O,提高cpu利用率。
缺点:
- 路由处理代码不直观清晰,需要很多正则或者字符串表达式
- 由于是异步事件,不能专注也业务代码,要考虑很多其他的东西
- 呈递静态页面很不方便,需要处理每一个http请求。
Express:
顶层函数:
var express=require("express");
var app=express();
//之后的是app.xxx
get请求:
//当app发起一个get请求时,并不代表直接发送get请求,
//get=>post:post请求
app.get(/^\/student\/(\d{10})$/,function(req,res){
var param=req.params[0]
res.send("/"+param)