zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    PF不明内存泄露已解决,白头发也没了(转)
    第06篇 MEF部件的生命周期(PartCreationPolicy)
    [MEF]第05篇 MEF的目录(Catalog)筛选
    [MEF]第04篇 MEF的多部件导入(ImportMany)和目录服务
    [MEF]第03篇 MEF延迟加载导出部件及元数据
    [MEF]第02篇 MEF的导入导出契约
    关于android的设备管理器-DevicePolicyManager(二)
    android KK版本号收到短信后,点亮屏的操作
    windows server 2008 安装Microsoft ActiveSync 6.1提示缺少一个Windows Mobile设备中心所须要的Windows组件
    设计模式
  • 原文地址:https://www.cnblogs.com/sna-ling/p/12521232.html
Copyright © 2011-2022 走看看