node.js(八 --- express)

EXPRESS

  重要的模块 

    body-parser: node.js中间件,用于处理JSON,Text和URL编码的数据;

    cookie-parser:这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象;

    multer: node.js中间件,用于处理enctype='multipart/form-data'(设置表单的MME编码)的表单数据;

  

  请求和响应

    即request和response对象来处理请求和响应的数据;

    requset对象:

      表示HTTP请求,包含了请求查询字符串,参数,内容,HTTP头部等属性。

      属性:

        1、req.app:当callback为外部文件时,用req.app访问express的实例;

        2、req.baseUrl: 获取路由当前安装的URL路径;

        3、req.body/req.cookies:获取请求体/Cookie;

        4、req.fresh/req.state:判断请求是否还[新鲜];

        5、req.hostname/req.ip:获取主机名和IP地址;

        6、req.originalUrl: 获取原始请求Url;

        7、req.params:获取路由的parameters;

        8、req.path: 获取请求路径;

        9、req.protocol: 获取协议类型;

        10、req.query: 获取URL的查询参数;

        11、req.route: 获取当前匹配的路由;

        12、req.subdomains:获取子域名;

        13、req.accepts(): 检查可接受的请求的文档类型;

        14、req.acceptsCharsets/req.acceptsEncodings/req.acceptslanguages: 返回指定字符集的第一个可接受字符编码;

        15、req.get(): 获取指定的HTTP请求头;

        16、req.is(): 判断请求头Content-Type的MME类型;

 

    response对象:

      表示HTTP响应,即在接收到请求时向客户端发送的HTTP响应数据;

      属性:

        1、res.app: 同req.app一样;

        2、res.append(): 追加指定的HTTP头;

        3、res.set():在res.append()后将重置之前设置的头;

        4、res.cookie(name,value,options): 设置Cookie;

        5、option: domain/expires/httpOnly/maxAge/path/secure/signed;

        6、res.clearCookie(): 清除Cookie;

        7、res.download(): 传送指定路径的文件;

        8、res.get(): 返回指定的HTTP头;

        9、res.jsonp(): 传送JSONP响应;

        10、res.json(): 传送JSON响应;

        11、res.location(): 只设置响应的Location HTTP头,不设置状态码或者close response;

        12、res.redirect(): 设置响应的Location HTTP头,并设置状态码302;

        13、res.render(view, locals, callback): 渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生next(err)将会被自动调用。callback将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了;

        14、res.send(): 传送HTTP响应;

        15、res.sendFile(path,options,fn): 传送指定路径的文件-会自动根据文件extension设定Content-Type;

        16、res.set(): 设置HTTP头,传入object可以一次设置多个头;

        17、res.status(): 设置HTTP状态码;

        18、res.type(): 设置Content-TYpe的MIME类型;

 

  静态文件

    Express提供了内置的中间件express.static来设置静态文件;

    例如: app.use(express.static('pulic')); 然后我们就可以在public目录下放置图片,css,js等静态内容了

 

  REST

    REST是表属性状态传递(英文:Representational State Transter, 简称REST);  表述性状态转移是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是RESTful。但是需要注意的是,REST就是设计风格而不是一种标准;REST通常使用JSON数据格式。

posted @ 2018-12-11 14:12  mumengchun  阅读(143)  评论(0编辑  收藏  举报