Express框架
快速搭建简易服务器
1.创建项目并初始化
创建一个文件夹,作为我们的项目文件夹(不要起中文名),之后在此目录下启动终端,运行 npm i -y 初始化项目 生成package.json文件
2.下载 express 包
命令 : npm i express
3.快速创建服务器代码
const express = require('express') const app = express() app.get('/', (req, res) => { res.send('hello world') }) app.listen(3000, () => console.log('app listening on port 3000!'))
说明:
- app.get(‘/’)相当于添加事件监听:当用户以get方式求”/”时,它后面的回调函数会执行,其回调函数中的req,res与前面所学http模块保持一致。
- res.send()是exprss框架给res对象补充提供的方法(http模块中的res是没有这个方法的),用于结束本次请求。类似的还有res.json(), res.sendFile() 。
- express 框架会增强req,res的功能
托管静态资源-web服务器
目录结构:
const express = require('express') const app = express() app.use(express.static('publish')) app.listen(3006,()=>{ console.log('访问成功,请到 http://localhost:3006') })
扩展:
限制前缀
app.use('/public', express.static('public'))
这意味着想要访问public下的内容,必须要在请求url中加上/public
路由和接口
路由(Routing)是由一个 URL(或者叫路径标识)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何处理响应客户端请求。每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这些个函数将被执行。
用express搭建简易接口
1.准备工作,先下载express包=> npm i express
2.编写完代码后(逻辑代码见下),执行 node 文件名.js 启动服务器
3.测试接口是否成功, get接口直接用浏览器打开或postman等测试软件,其他类型,都需要借助第三方工具
1.get接口
express框架会自动收集get类型的接口从url地址中传递的查询字符串参数,并自动保存在req对象的query
属性中。我们直接来获取即可。
const express = require('express'); const app = express(); app.get('/get', function(req, res) { console.log(req.query); res.send({ name: 'abc' }); }); app.listen('8088', () => { console.log('8088'); }); 或postman等测试软件看是否成功
2.post接口(普通键值对)
const express = require('express'); const app = express(); app.use(express.urlencoded()); app.post("/add",function(req,res){ console.log(req.body); res.send({ name: 'abc' }); }) app.listen('8088', () => { console.log('8088'); });
3.post接口(json格式的参数)
在post传递参数时,如果要传入的参数比较复杂(多级嵌套),则可以使用json格式上传,如你要上传的参数:
let data = { name:"abc", address:{ "a":1, "b":2, "info":"c" } }
后端代码:
const express = require('express'); const app = express(); app.use(express.json()); app.post('/postJSON',(req,res)=>{ console.log(req.body); res.send({ name: 'abc' }); }) app.listen('8088', () => { console.log('8088'); });
4.post接口(form-data文件上传)
如果post涉及文件上传操作,则需要在服务器端额外使用第三方multer
这个包(不属于express)来获取上传的信息。
Multer 是一个 node.js 中间件,用于处理 multipart/form-data
类型的表单数据,它主要用于上传文件。
1.安装包
npm install multer
2.代码
const express = require('express'); const app = express(); const multer = require('multer'); const upload = multer({dest:'uploads/'}) app.post("/postfile",upload.single('cover'), (req,res)=>{ res.send({ name: 'abc' }); })
注意:
- 如果当前目录下没有uploads,它会自动创建uploads这个文件夹
upload.single
只是处理了文件的上传。你仍可以通过req.body来获取其它参数
原文链接:https://juejin.cn/post/7091983986829819911
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/33122