nodeBlog项目
目标:
- 开发一个博客系统,具有博客的基本形式
- 只开发server端,不关心前端
- 分为种形式blog:
- 不使用任何框架购进blog
- 使用express重构blog
- 使用koa2重构blog
需求:
- 首页、作者主页、博客详情页
- 登录页
- 管理中心,新建页,编辑页
总结:
- 需求一定要明确,需求指导开发
- 不要纠结于简单的页面样式,并不影响server端复杂度
技术方案:
- 数据如何存储
- 如何与前端对接,即接口设计
储存:
- 博客
- 用户
接口设计:
| 描叙 | 接口 | 方法 | url参数 | 备注 |
|---|---|---|---|---|
| 获取博客列表 | /api/blog/list | get | author作者,keword搜索关键字 | 参数为空的话,则不进行查询过滤 |
| 获取一篇博客的内容 | /api/blog/detail | get | id | |
| 新增一篇博客 | /api/blog/new | post | post中有新增的信息 | |
| 更新一篇博客 | /api/blog/update | post | id | postData中有更新的内容 |
| 删除一篇博客 | /api/blog/del | post | id | |
| 登录 | /api/user/login | post | postData中有用户名密码 |
关于登录:
- 业界有统一的解决方案,一般不用再重新设计
- 实现起来比较复杂,后面会有详细解释
开发接口
- nodejs处理http请求
- 搭建开发环境
- 开发接口(暂不连接数据库,暂不考虑登录)
http请求概述
- DNS解析,建立TCP连接,发送http请求
- server接收到http请求,处理,并返回
- 客户端接收到返回数据,处理数据(如渲染页面执行js)
nodejs处理http请求
- get请求和querystring
- post请求和postdata
nodejs处理get请求
- get请求,即客户端要向server端获取数据,如查询博客列表等
- 通过querystring来传递数据,如a.html?a=100&b=200
node处理get实例:
const http = require("http")
const querystring = require("querystring")
const server = http.createServer((req, res) => {
console.log("method:", req.method)
const url = req.url
console.log("url:", url)
// 获取一个对象
req.query = querystring.parse(url.split("?")[1])
console.log("query: ", req.query)
res.end(
JSON.stringify(req.query)
)
})
server.listen(8000)
console.log("8000 port is running")
本文档介绍了如何使用Node.js开发一个简单的博客项目,包括项目目标、需求、技术方案选择。主要关注server端开发,涉及数据存储、接口设计和HTTP请求处理,特别是Node.js对GET请求的处理。
1864

被折叠的 条评论
为什么被折叠?



