express

  • [ 插件 ]
  •   npm i morgan
      const morgan = require('morgan')
      app.use(morgan('dev'))
    
    • 跨域设置
      npm i cors
      const cors = require('cors')
      app.use(cors())
    
    • 数据处理
      const express = require('express')
      const app = express()
      app.use(express.urlencoded(extended: false))
      app.use(express.json())
    
    • 路径拼接
      const path = require('path')
      const dPath = path.join(__dirname, ./../dist)
    

  • [ 静态资源配置 ]
    • 可以将vue build 得到的 dist 目录放到express根目录下,并设置其为静态资源目录,这样 /favicon.ico 便可以得到 dist 目录中的图标文件
    • 注意,这里 index.html 中用到的css,js,图片等静态资源都必须放在静态资源目录并按对应目录进行引入
      app.use(express.static(dPath))
      app.get('/', express.static(path.join(dPath, './index.html')))
    

  • [ 错误处理中间件 ]
  •   app.use((err, req, res, next) => { code... })
    

  • [ 自定义404响应内容 ]
  • 404中间件必须放在所有路由中间件之后,只有所有路由中间件都没有实现响应的时候,才应该执行404响应。

      app.use((req, res, next) => { res.status(404).send(...) })
    

  • [ 路由 ]
  •   const router = require('express').Router()
      router.get('/user', auth, userMiddleWare)
      module.exports = router
    

  • [ 注意事项 ]
  • 当使用json文件来存储数据并进行读写的时候,不要使用nodemon进行测试,直接使用node启动项目即可,否则读写数据时nodemon会被触发导致不可控的问题。

    posted @ 2024-03-13 14:38  anch  阅读(13)  评论(0)    收藏  举报