目录
  1. 1. 关于node中的细节问题
    1. 1.1. 1、关于node服务器的反复重启
    2. 1.2. 2、关于express对post请求的解析
    3. 1.3. 3、关于express对路由的处理
node细节问题

关于node中的细节问题

head

准备工作:

node环境

有一定node基础

对express有一定了解

1、关于node服务器的反复重启

  • node自动重启工具nodemon

  • 在编写node时,需要反复频繁的去重启服务器,非常繁琐,然而nodemon可实现对node代码的监视,一点发生变化,自动更新,省去了我们手动重启

  • 如何使用nodemon

    • 只需一步,npm下载至全局即可

      1
      $ npm install -g  nodemon
    • 下载完毕后,全局会多出一个命令nodemon,他的使用方法很简单:

      1
      2
      3
      4
      5
      //通常我们启动node脚本时,会在cmd输出
      $ node 文件.js

      //现在我们只需将node改为nodemon即可
      $ nodemon 文件.js

2、关于express对post请求的解析

在express中没有对post请求的封装,如果我们要使用post请求的话,就需要安装一个三方库body-parser

  • 安装

    1
    $ npm install --save body-parser
  • 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var express = require('express')
    // 将其引入
    var bodyParser = require('body-parser')

    var app = express()

    /*
    配置 body-parser
    配置之后,请求中的req就会多出一个属性 body,
    可通过req.body的形式来回去post请求得到数据
    */
    app.use(bodyParser.urlencoded({ extended: false }))
    app.use(bodyParser.json())
  • 使用

    1
    2
    3
    4
    app.post("/",function(req,res){
    console.log(req.body);
    res.send("可通过此方法查看")
    })

3、关于express对路由的处理

​ 在正常开发中,路由是必不可少的,但是往往路由会非常多,会很难管理,这时我们就会想到新建一个专门用来存放路由的文件,来管理它,但是问题又来了,我们要怎么让这个文件与输出文件关联呢,之前通过回调函数的方法也可以完成任务,但是后来express为我们提供了专门的方法express.Router让我们来一起看看:

  • 创建一个专门用来管理路由的文件router.js

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    const express = require("express")

    //使用express的路由功能
    let router = express.Router()

    //新建路由都以router开头
    router.get("/get",function(req,res){
    res.end("我是get方式的路由");
    })

    router.post("/post",(req,res)=>{
    res.end("我是post方式的路由");
    })

    //将其暴露
    module.exports = router;
  • 假定我们的主输出文件是app.js

    1
    2
    3
    4
    5
    6
    7
    8
    9
    const express = require("express");
    const router = require("./router");

    const app = express()

    //将路由挂载
    app.use(router)

    app.listen(88,function(){ console.log("连接成功") })
文章作者: 阿福不想坐飞机
文章链接: http://yoursite.com/2019/10/25/node细节/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿福不想做飞机
打赏
  • 微信
  • 支付宝

评论