NodeJS+Express+MongoDb开发的个人博客
NodeJS+Express搭建个人博客-环境搭建(一)
NodeJS+Express搭建个人博客-gulp自动化构建工具使用(二)
NodeJS+Express搭建个人博客-Express+Mongodb组合架构介绍(三)
NodeJS+Express搭建个人博客-数据库设计及Mongoose操作(四)
NodeJS+Express搭建个人博客-公共组件及工具类(五)......
项目介绍
简言
本项目主要针对博客的标准,利用所学的框架组件及相关插件进行开发,因为自己希望通过前沿技术开发一个比较成熟点的博客类管理系统,所以在此定制了一个目标,不断完善个人博客项目,总结经验和分享开发过程中一些技术点和难点。本项目持续更新中,开源免费与各位爱好Node技术达人共勉,(注:现阶段仍在开发中。。。。。
)
模块
使用工具包
1.gulp自动化构建工具:整合了代码压缩、图片压缩工具包,对视图代码及图片进行压缩处理,提升网站资源加载流畅度
2.ejs-mate模板引擎 因其支持partial,可以对js或css合并生成,减少一个网页中的多个请求个数,对优化网站有很大帮助
3.markdown文本编辑插件:editormd
4.文件上传插件:formidable 该组件的使用可以参考该文档,使用方法简单,后续章节会针对formData解析以及前端Ajax传值进行细说
数据表设计
按照博客的业务逻辑进行了以下几个关键表的设计:(后面章节会细说)
require('./category') //文章分类表
require('./comment') //评论表
require('./chat') //碎言表
require('./oauth_user') //用户表
require('./article') //文章表
require('./article_pic') //文章图片关联表
require('./article_tag') //文章标签关联表
require('./config') //配置表
require('./tag') //标签表
exports.TagDb = mongoose.model('Tag') // 这是一个对象
exports.Article = mongoose.model('Article')
exports.ArticlePic = mongoose.model('ArticlePic')
exports.ArticleTag = mongoose.model('ArticleTag')
exports.Category = mongoose.model('Category')
exports.Chat = mongoose.model('Chat')
exports.Comment = mongoose.model('Comment')
exports.User = mongoose.model('User')
安装步骤
- 安装工具及版本说明: npm: 6.0及以上, node: 8.9及以上, mongodb: 5.2.8及以上, git下载
- 使用webstorm或其他开发工具,运行git clone https://github.com/WebLss/Nod...
- 运行
npm install
等待下载所需依赖包 - 运行mongodb:可以参考该文章: https://www.cnblogs.com/wangl...
- 运行
gulp
命令:编译压缩生成dist, gulp自动化构建项目后续章节将会细说 - 根据以下命令启动项目:
{
"name": "node-blog",
"version": "0.0.0",
"private": true,
"scripts": {
"win_start": "set NODE_ENV=production&&nodemon ./bin/www", //win系统,代表启动正式环境
"win_dev": "set NODE_ENV=development&&nodemon ./bin/www", //win系统,代码启动开发环境
"mac_start": "NODE_ENV=production nodemon ./bin/www", //mac系统,代表启动正式环境
"mac_dev": "NODE_ENV=development nodemon ./bin/www" //mac系统,代码启动开发环境
}
}
访问路径
后台入口url: http://localhost:3000/admin (待完善)
前台入口url:持续开发中。。。。。。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。