学习Node.js(三)

102 阅读2分钟

大人真可怜,没有能让自己依靠、撒娇和骂自己的人。

image.png

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第 4 天,点击查看活动详情

Express

Express 基于 node.js 中的 http 模块封装而来,可以帮助开发者快速地搭建一个服务器。它包含的内容有:
* express.static() 快速托管静态资源
* express 路由精简项目结构
* express 中间件
* express 创建 API 接口
* 在 express 中启用 cors 跨域资源共享

  • 使用 Express 创建基本的 Web 服务器
// 1. 导入 express
const express = require('express')
// 2. 创建 web 服务器
const app = express()

// 3. 调用 app.listen(端口号, 启动成功后的回调函数), 启动服务器
app.listen(80, () => {
    console.log('express server running at http://127.0.0.1')
})
  • 监听 GET 请求
    通过 app.get('客户端请求的 URL 地址', 请求对应的处理函数) 方法,可以监听客户端的 GET 请求
// req: 请求对象(包含了与请求相关的属性与方法)
// res: 响应对象(包含了与响应相关的属性与方法)
app.get('请求 URL', function(req, res) { /*处理函数*/ })
  • 监听 POST 请求 通过 app.post('客户端请求的 URL 地址', 请求对应的处理函数) 方法,可以监听客户端的 POST 请求
// req: 请求对象(包含了与请求相关的属性与方法)
// res: 响应对象(包含了与响应相关的属性与方法)
app.post('请求 URL', function(req, res) { /*处理函数*/ })
  • 把内容响应给客户端 通过 res.send() 方法,可以把处理好的内容,发送给客户端
app.get('请求 URL', (req, res) => { 
    // 向客户端发送 JSON 对象
    res.send({响应内容对象})
})

app.post('请求 URL', f(req, res) => { 
    // 向客户端发送问本内容
    res.send('请求成功!')
})
  • 获取 URL 中携带的查询参数
    通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数
app.get('/', (req, res) => { 
    // req.query 默认是一个空对象 {}
    // 客户端使用 ?name=May&age=24 这种查询字符串形式,发送到服务器的参数
    // req.query.name   req.query.age
    console.log(req.query)
})
  • 获取 URL 中的动态参数
    通过 req.params 对象,可以访问到 URL 中,通过匹配:匹配到的动态参数
app.get('/user:id', (req, res) => { 
    // req.params 默认是一个空对象 {}
    // 里面存放着通过:动态匹配的参数
    console.log(req.query)
})
  • express.static() 快速托管静态资源
app.use(express.static('文件夹名'))
// Express 在指定的静态目录中查找文件,并对外提供资源的访问路径,因此,存放静态文件的目录不会出现在 URL 中,想要托管多个就多次挂载,如果文件夹下存在相同文件,则按挂载的先后顺序渲染
// 不过,可以在前面挂载路径前缀
app.use('/文件名', express.static('文件夹名'))

nodemon工具
可以监听项目文件的变动,自动重启项目。需要安装在全局环境中,'nodemon file.js' 启动项目