基于 node 搭建博客系统(一)
系统分为两端,分别实现。
管理员端:
功能 :个人信息,设置,发布随笔,随笔列表,删除随笔,查找,文章 等。
技术点:Boostrap + AdminLTE;
基于nodejs 实现的express 框架;
MongoDB数据库;
Mongoose 模块,操作数据库。
用户端:
功能:浏览随笔列表,查看随笔,文章类似,评论,点赞 等;
技术点:HTML + CSS + javascript 完成用户端页面及交互逻辑(使用博客模板);
jquery 实现DOM操作,Ajax 数据对接。
博客系统目标拆分实现
1:实现“用户访问接口,给用户返回一个HTML页面”:
(1)新建blog项目,
(2)在项目路径下,cmd 执行 npm init 进行项目初始化。
(3)执行 npm install express --save z安装express 框架。
(4)在项目文件下新建app.js 文件,并在其中引入express模块。
(5)在 app.js 中使用express 提供的方法,开启服务,监听前端请求,并作出响应。
2:实现“用户访问接口,返回一个带样式的HTML页面”:
(1)在 app.js 中配置静态资源托管路径
app.use('/pub',express.static(__dirname+'/public'));
(2)在html 页面中通过配置的路径访问对应资源
<link rel="stylesheet" href="/pub/css/index.css">
3:在前端渲染出来的html中,加入文章列表的数据
(1)后端添加一个 /list 接口,用来给用户返回html 结构。
app.get('/list',function (req,res) { //只负责渲染文章列表的页面结构 res.sendFile(__dirname+'/views/list.html'); })
(2)后端再添加一个 /list/getdata ,用以返回文章数据
var listD = require('./data/listData'); app.get('/list/getdata',function (req,res) { res.send(listD); })
(3)前端通过ajax请求 /list/getdata接口,并拿到json数据包,通过dom操作嵌入html中。(略)
下节将使用模板引擎来拆分代码和渲染数据。