基于 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中。(略)
下节将使用模板引擎来拆分代码和渲染数据。
基于 node 搭建博客系统(一)的更多相关文章
- 基于Hexo搭建博客并部署到Github Pages
		
基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...
 - Django快速搭建博客系统
		
Django快速搭建博客系统 一.开发环境 Windows 7(64bit) python 3.6 https://www.python.org/ Django 2.0 https://www. ...
 - day14搭建博客系统项目
		
day14搭建博客系统项目 1.下载代码包 [root@web02 opt]# git clone https://gitee.com/lylinux/DjangoBlog.git 2.使用pid安装 ...
 - 基于HTML,css,jQuery,JavaScript,MySQL搭建博客系统
		
一.登陆注册 二.登录验证码相关 三.博客首页显示相关 四.当前用户的家目录显示 五.点赞以及取消 六.父评论以及子评论操作 七.后台管理首页 八.文章的操作(增.删,改) 九.文件上传问题 十.me ...
 - 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
		
一.博客系统进度回顾以及页面设计 1.1页面设计说明 紧接前面基础基本完成了框架搭建,现在开始设计页面,前台页面设计我是模仿我博客园的风格来设计的,后台是常规的左右布局风格. 1.2前台页面风格 主页 ...
 - 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑
		
前言 从上篇30岁找份程序员的工作(伪程序员的独白),文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章 ...
 - 一个 Vue + Node + MongoDB 博客系统
		
源码 耗时半载(半个月)的大项目终于完成了.这是一个博客系统,使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的 ...
 - 【干货】利用MVC5+EF6搭建博客系统(四)(上)前后台页面布局页面实现,介绍使用的UI框架以及JS组件
		
一.博客系统进度回顾以及页面设计 1.1页面设计说明 紧接前面基础基本完成了框架搭建,现在开始设计页面,前台页面设计我是模仿我博客园的风格来设计的,后台是常规的左右布局风格. 1.2前台页面风格 主页 ...
 - 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文
		
一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效 ...
 
随机推荐
- mint-ui Infinite scroll 重复加载、加载无效的原因及解决方案
			
1.无限滚动的运用场景: 一般运用在列表展示,有分页.下拉加载更多的需求中. 2.代码分析 代码很简单,实现了列表分页,数据加载完之后显示数据状态 <template> <div c ...
 - oracle中常见的查询操作
			
普通查询:select * from t; 去除重复值:select distinct f1,f2 from t; between用法:select * from t where f1 not/bet ...
 - IOS返回go(-1)
			
IOS8和9,在用go(-1)返回的时候,会同时加载js.可能会造成js加载顺序出错,或者值被覆盖的情况,我们可以用setTimeout(function(){XXX代码},100);延时加载.
 - kubernetes入门之获取私有仓库镜像
			
一般情况下,我们项目构建的镜像统一会推送至私有仓库,那么这里大家可以参考阿里云的私有仓库搭建教程.那么我们可以通过以下步骤拉取: 1.推送及拉取镜像 1.1. 登录阿里云Docker Registry ...
 - 原创python:windows解决genymotion appium adb 的问题。
			
首先请安装好genymotion 与并用其下载好要用的安卓版本. (其中Oracle VM VirtualBox可以自己单独安装也可以在下载genymotion时选择包含vbox的) 参考https: ...
 - Mongoose基础
			
为了保存网站的用户数据和业务数据,通常需要一个**数据库**.**MongoDB**和**Node.js**特别般配,因为MongoDB是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二 ...
 - 比Python、Java更快的 Go 语言,能否称霸江湖?
			
关注之后加星标,江湖要事早知道  文章来源:jb51.net 有一种语言堪称比语言排行榜前五热门选手的Python.Java更快,它就是GO语言. Go于2009年11月正式宣布推出,成为开放源代码 ...
 - quartz配置参数org.quartz.jobStore.misfireThreshold含义解释
			
配置定时任务参数 quartz.properties文件时 需要配置jobStore的超过时间数 默认为60秒(这里单位为毫秒) org.quartz.jobStore.misfireThreshol ...
 - 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.
			
常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. ...
 - SaltStack 安装、简单配置和远程执行
			
1:安装 修改hosts文件,必须保证Master端和Minion端都有完整的FQDN名示例如下: vim /etc/hosts 192.168.31.101 node2 node2.crazylin ...