Node.js 开发/学习 记录

这篇博客详细记录了Node.js的学习历程,涵盖了session和cookie的区别、接口检测工具的使用、json-server的优胜之处,以及RESTful API、MongoDB的重要概念。还深入探讨了Express框架的各个方面,包括路由模块化、静态资源处理和中间件的运用。此外,还介绍了npm包管理、CommonJS规范、HTTP请求类型和静态资源与动态资源的差异。
摘要由CSDN通过智能技术生成

Node.js学习

参考文章:https://juejin.cn/post/7258881840823713848

session和cookie的区别

在这里插入图片描述

接口检测工具

在这里插入图片描述

json-server (感觉比mock好用一点)

在这里插入图片描述

RESTful API

在这里插入图片描述

接口

在这里插入图片描述
在这里插入图片描述

Mongodb中三个重要概念

在这里插入图片描述

MongoDB

在这里插入图片描述

express路由模块化

// 13.路由模块化.js 文件
// 1.导入express
const express = require('express')
const homeRouter = require('./router/homeRouter')
const adminRouter = require('./router/adminRouter')
// 2.创建对象
const app = express()
app.use(homeRouter)
app.use(adminRouter)
// 通配符,托底使用,多用于404页面
app.all('*', (req, res) => {
   
  res.send('404 NOT FOUND')
})
// 4.监听端口, 启动服务
app.listen(3000, () => {
   
  console.log('服务已经启动, 3000端口正在监听中...')
})



// router/homeRouter.js 文件
// 导入express
const express = require('express')
// 创建路由对象
const router = express.Router()
// 创建路由
router.get('/home', (req, res) => {
   
  res.send('前台首页')
})
router.get('/search', (req, res) => {
   
  res.send('内容搜索')
})
module.exports = router



// adminRouter.js 文件
// 导入express
const express = require('express')
// 创建路由对象
const router = express.Router()
// 创建路由
router.get('/admin', (req, res) => {
   
  res.send('后台')
})
router.get('/setting', (req, res) => {
   
  res.send('后台设置')
})
module.exports = router

express静态资源中间件

在项目中建一个public文件夹, 里面可以放 css、image 等文件
app.use(express.static(__dirname + ‘/public’))
添加这样一行代码,就可以直接访问已有的静态资源
在这里插入图片描述

express路由中间件示例代码

/**
 * 需求: 针对/admin /setting 的请求,要求URL携带 code=521参数,入味携带提示"暗号错误"
 */
// 1.导入express
const express = require('express')

// 2.创建对象
const app = express()

// 声明路由中间件
let checkCodeMiddleware = (req, res, next) => {
   
  // 判断URL中是否携带code=521
  if (req.query.code == 521) {
   
    next()
  } else {
   
    res.send('暗号错误')
  }
}

// 3.创建路由
app.get('/admin', checkCodeMiddleware, (req, res) => {
   
  res.send('后台')
})
app.get('/setting', checkCodeMiddleware, (req, res) => {
   
  res.send('后台设置')
})

// 4.监听端口, 启动服务
app.listen(3000, () => {
   
  console.log('服务已经启动, 3000端口正在监听中...')
})

express中间件

在这里插入图片描述
全局中间件示例代码, 用于检测访问日志:

// 1.导入express
const express = require('express')
const fs = require('fs')
const path = require('path')

// 2.创建对象
const app = express()

// 声明中间件函数
function recordMiddleware(req, res, next) {
   
  // 通过解构赋值方法, 获取url和ip
  let {
    url, ip } = req
  // 将信息保存在文件中 access.log
  fs.appendFileSync(path.resolve(__dirname, './access.log'), `${
     url} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值