Node.js服务器创建和使用

1.使用zlib模块对服务器端响应压缩

//1.1引入zlib模块

const zlib=require('zlib');

//1.2 设置内容的压缩形式

'Content-Encoding': 'gzip'

//1.3创建gzip压缩

var gzip=zlib.createGzip();

//1.4使用读取流读取文件并响应到浏览器

fs.createReadStream('tmooc.html').pipe(gzip).pipe(res)

2.express

 基于nodejs平台,快速、开放、极简的web开发框架

 www.expressjs.com.cn 中文官网

 安装express  

    npm  install  express

 创建web服务器

const express=require('express');//引入express模块

var app=express(); //创建web服务器

app.listen(8080); //监听端口

 (1)路由

  浏览器向web服务器发请求,web服务器根据请求的url和请求的方法来作出响应。

  三要素:请求的url,请求的方法,响应(回调函数)

  res  响应的对象

    send()  设置并发送响应的内容,路由中只能使用一次

    sendFile()  响应文件,要求使用绝对路径  __dirname

    redirect()  响应的重定向,跳转到另一个url

  req  请求的对象

    method  请求的方法

    url   请求的url  

    headers   请求的头信息

    query   获取请求的查询字符串形式的数据,格式为对象

    params  获取路由传递的数据

设置路由中接收数据的名称

app.get('/shopping/:price', function(req,res){

   req.params  //获取传递的数据,格式为对象

});

浏览器传递数据

http://127.0.0.1:8080/shopping/4999

获取post请求的数据

req.on('data', function(mydata){ //通过事件

  mydata.toString()  //格式为查询字符串,需要解析为对象

});

 get和post请求

  在浏览器地址栏直接输入url,默认就是get请求,传递数据使用查询字符串,浏览记录可能被浏览器缓存。

  post请求需要使用表单提交来完成(现阶段),获取数据使用事件

 

  商品模块 product

    列表   删除      修改

    /product/list   /product/delete  /product/update

  用户模块 user

    列表    删除     修改

    /user/list    /user/delete   /user/update

3.路由器

 路由在使用的过程中,不同模块下的路由可能出现相同的url; 把同一个模块下的路由放到特定的路由器。

 (1)创建路由器

//1.路由器是express下的一个功能

const express=require('express');

//2.创建路由器对象

var router=express.Router();

//3.往路由器中添加路由

router.get('/list',function(req,res){

  res.send('这是用户列表');

});

//4.导出路由器对象

module.exports=router;

 (2)在web服务器中使用

//2.1引入路由器模块

const userRouter=require('./user.js');

//2.2使用路由器,挂载到特定的url

app.use('/user',userRouter);

原文地址:https://www.cnblogs.com/sna-ling/p/12521232.html