1. express.static()

  1. const { root } = require('cheerio');
  2. const { dir } = require('console');
  3. const express = require('express');
  4. const app = express();//创建一个以express应用,app实际上是一个函数,用于处理请求的函数
  5. const path = require('path');
  6. const rootPath = path.resolve(__dirname, '../public')
  7. /***
  8. * 发送请求的时,会根据请求的路径,从指定的目录中查找是否存在该文件,如果存在,则相应文件内容,而不再移交给后续的中间件,
  9. * 如果不存在文件,则直接移交给后续的中间件
  10. */
  11. app.use(express.static(rootPath));
  12. // app.use(express.static(rootPath, {
  13. // index: 'indx.html' //默认访问页面,默认值为index.html,可修改
  14. // }));
  15. // app.use('/static', express.static(rootPath))// 也可以针对访问某个指定api路径,来标识需要 返回静态资源
  16. app.use(require('./errMiddleware')) // 处理所有的错误请求
  17. app.listen(12306, () => {
  18. console.log('server on 12306 has started')
  19. })
  • 发送请求的时,会根据请求的路径,从指定的目录中查找是否存在该文件,如果存在,则相应文件内容,而不再移交给后续的中间件,
  • 如果不存在文件,则直接移交给后续的中间件
  • 默认情况下,如果访问的是一个目录,则会自动寻找目录下面的index.html

    2. express.json()

    ```javascript

const { root } = require(‘cheerio’); const { dir } = require(‘console’); const express = require(‘express’); const app = express();//创建一个以express应用,app实际上是一个函数,用于处理请求的函数 const path = require(‘path’); const rootPath = path.resolve(__dirname, ‘../public’) /*

  • 发送请求的时,会根据请求的路径,从指定的目录中查找是否存在该文件,如果存在,则相应文件内容,而不再移交给后续的中间件,
  • 如果不存在文件,则直接移交给后续的中间件 */

app.use(express.static(rootPath, { index: ‘index.html’ //默认访问页面,默认值为index.html,可修改 })); // app.use(‘/static’, express.static(rootPath))// 也可以针对访问某个指定api路径,来标识需要 返回静态资源

/*

  • 默认res无法解析post请求的参数,也就是请求体
  • 使用该中间件后表示,当Content-Type是”application/x-www-form-urlencoded”,使用该中间件处理 / app.use(express.urlencoded({ extended: true })) /**
  • 默认res无法解析post请求的参数,也就是请求体
  • 使用该中间件后表示,当Content-Type是”application/json”,使用该中间件处理 */ app.use(express.json()) app.post(‘/list’, (req, res) => { console.log(req.body) }) app.use(require(‘./errMiddleware’)) // 处理所有的错误请求 app.listen(12306, () => { console.log(‘server on 12306 has started’) }) ```
  • 默认res无法解析post请求的参数,也就是请求体
  • 使用该中间件后表示,当Content-Type是”application/json”,使用该中间件处理
  • 而不再移交给后续的中间件,

    3.express.urlencoded()

    ```javascript

const { root } = require(‘cheerio’); const { dir } = require(‘console’); const express = require(‘express’); const app = express();//创建一个以express应用,app实际上是一个函数,用于处理请求的函数 const path = require(‘path’); const rootPath = path.resolve(__dirname, ‘../public’) /*

  • 发送请求的时,会根据请求的路径,从指定的目录中查找是否存在该文件,如果存在,则相应文件内容,而不再移交给后续的中间件,
  • 如果不存在文件,则直接移交给后续的中间件 */

app.use(express.static(rootPath, { index: ‘indx.html’ //默认访问页面,默认值为index.html,可修改 })); // app.use(‘/static’, express.static(rootPath))// 也可以针对访问某个指定api路径,来标识需要 返回静态资源

/*

  • 默认req无法解析post请求的参数,也就是请求体
  • 使用该中间件后表示,当Content-Type是”application/x-www-form-urlencoded”,使用该中间件处理 */ app.use(express.urlencoded({ extended: true // 早起版本是使用quertString()来解析,现在表示用新的解析方式 })) app.use(require(‘./errMiddleware’)) // 处理所有的错误请求 app.listen(12306, () => { console.log(‘server on 12306 has started’) }) ```
  • 默认req无法解析post请求的参数,也就是请求体
  • 使用该中间件后表示,当Content-Type是”application/x-www-form-urlencoded”,使用该中间件处理,而不再移交给后续的中间件,
  • 该中间件直接返回参数的的对象