基于ES6的文章发布系统的设计与实现

目 录
摘 要 I
Abstract II
1绪论 2
1.1选题背景及意义 2
1.2国内外研究现状 3
1.3研究主要内容 4
1.3.1系统介绍 4
1.3.2系统开发方法 5
1.3.3论文组织结构 6
2系统相关技术 6
2.1 NodeJS 7
2.2 ExpressJS 10
2.3 Mysql数据库 11
2.4 EJS 13
2.5网络架构体系 14
2.6 MVC介绍 15
3系统分析 16
3.1可行性分析 17
3.2需求分析 17
3.3功能分析 18
3.3.1注册界面 18
3.3.2登录界面 20
3.3.3文章管理界面 21
3.3.4评论管理 22
3.4性能规定 22
3.4.1性能分析 22
3.4.2安全性需求分析 22
3.4.3客户端的性能需求 23
4系统设计 24
4.1数据分析 24
4.2数据流图 24
4.3数据库设计 25
4.3.1用户表users 25
4.3.2文章表posts 26
4.3.3评论表comments 26
5系统实现 27
5.1系统实现 27
5.1.1首页 27
5.1.2登录 28
5.1.3文章管理 30
5.1.4栏目管理 31
5.1.5文章发布 32
5.1.6投稿管理 32
5.2系统的部署安装与配置 33
5.2.1安装要求 33
5.2.2安装Nodejs和Mysql 33
5.2.3本系统的获取和安装 33
5.2.4系统配置 34
6系统测试 35
6.1白盒测试 35
6.2黑盒测试 38
6.2.1文章界面测试 38
6.2.2后台管理 39
6.2.3注册和登录 39
参考文献 42
致 谢 43
1.3研究主要内容
1.3.1系统介绍
ES6文章发布系统是用来对文章进行管理的系统。和文章一起出现的,还有评论。在展示这方面的内容时,我们还应当可以搜索到这些内容,所以我们可以以创建文章的日期为依据对这些文章进行排列。
除了文章和评论的展示,还应当存在录入功能。为此,就应该设计登录界面,发表文章的界面和修改编辑以发布文章的界面。只有这样,作为作者的博主才能够对自己的文章进行控制。
对于留言管理模块,本系统只对用户提供了留言和删除留言功能,并不提供修改操作。而博文作者可以对任意的评论进行删除,但是也不可以修改评论的内容。
这个ES6文章发布系统采用了Node.js来开发,主要目的是对这一技术进行探索和试验。除此之外,在文章管理,为了与Node.js有更好的兼容性,也采用了Mysql作为数据库来存储相关数据。
在各类开发语言中,文章发布系统种类有很多,关于文章发布系统的需求、框架设计和前后端的设计也都有很多相似之处。所以,本文章发布系统主要是为了研究非阻塞、异步I/O的Node.js与非关系型数据库Mysql的优势及特点。
Node.js非阻塞、异步式I/O的特点让这一技术与市面上的各类关系型数据库的搭配变得并不优秀,因而,对于Node来说,非关系型数据库更为合适,在对比了一些Mysql数据库后,发现以文档方式存储数据的Mysql更适合Node.js的开发。
1.3.2系统开发方法
本文章发布系统主要采用Node.js开发完成,其他所有的相关技术都是基于NPM,以Node.js为核心的开发工具。
在Node.js的基础之上,使用Express框架来建构应用,在此框架之上设置路由分析与响应,当访问某一界面时,通过数据层Mongoolass(Node.js中操作Mysql的模块)的操作来对Mysql进行操作,获得相应的数据,然后通过ejs引擎模板后台渲染HTML界面,再由服务器发送给前台页面。
本系统的所有前台页面都是用ejs引擎模板书写的,ejs模板具有简单易懂,操作难度低的特点,与HTML语言有很大相似之处,因此学习这个模板语言十分便捷。
在开发工具上,本系统使用了WebStorm作为开发工具,这是由jetbrains公司推出的一款十分便捷的javascript开发工具。它拥有极其方便的JS代码格式化及智能代码提示功能,而且对于Node.js的开发的契合度很高,可以直接在WebStorm中运行Node指令。并且这一开发工具集成了GIT分布式存储仓库,可以随时将代码push到Github中进行保存。
在开发的过程中,使用了Chrome浏览器和firefox浏览器作为目标浏览器。Firefox浏览器中的firedebug插件使得网页代码查看变得非常方便,Chrome浏览器中自带的Web Developer Tools配套了DOM事件元素查看和更改的功能及资源查看,网络瀑布图,JS代码查看,调试,运行及检测功能等一系列功能。可以让开发者很便捷的找到开发代码中的一些问题。并且Chrome与firefox使用的是完全不同的浏览器内核,为了同时对这两个浏览器进行兼容,需要在两个浏览器中都进行代码调试。
1.3.3论文组织结构
论文的组织安排如下:
第一章内容为绪论,说明了项目的背景、什么是文章发布系统以及为什么使用NodeJs完成文章发布系统的开发,http://www.biyezuopin.vip/onews.asp?id=11883系统的意义。
第二章内容为相关技术的简介,包括了NodeJS、ExpressJS框架、Mysql数据库、EJS引擎模板,MVC设计模式以及开发工具Webstorm。
第三章内容为系统分析部分,包括了可行性的阐述,需求分析、数据需求及数据流图。
第四章内容为总体设计,包括数据结构、系统架构、数据图、系统安装配置。
第五章内容为测试与展示,主界面、文章界面、留言和相关页面展示以及相关测试。
第六章为项目部署,远程服务器搭建

var Mongolass = require('mongolass');
var mongolass = new Mongolass();
mongolass.connect(config.Mysql);
然后创建数据库实体对象的模型:
exports.User = mongolass.model('User', {
    name: { type: 'string' },
    password: { type: 'string' },
    avatar: { type: 'string' },
    gender: { type: 'string', enum: ['m', 'f', 'x'] },
    bio: { type: 'string' }
});
exports.User.index({ name: 1 }, { unique: true }).exec();// 

基于ES6的文章发布系统的设计与实现_第1张图片
基于ES6的文章发布系统的设计与实现_第2张图片
基于ES6的文章发布系统的设计与实现_第3张图片
基于ES6的文章发布系统的设计与实现_第4张图片
基于ES6的文章发布系统的设计与实现_第5张图片
基于ES6的文章发布系统的设计与实现_第6张图片
基于ES6的文章发布系统的设计与实现_第7张图片
基于ES6的文章发布系统的设计与实现_第8张图片
基于ES6的文章发布系统的设计与实现_第9张图片
基于ES6的文章发布系统的设计与实现_第10张图片
基于ES6的文章发布系统的设计与实现_第11张图片
基于ES6的文章发布系统的设计与实现_第12张图片

你可能感兴趣的:(es6,nodejs,文章发布系统,文章管理系统,毕业设计)