# vue-blog
> A single-user blog built with vue2, koa2 and mongodb which supports Server-Side Rendering
一个使用vue2、koa2、mongodb搭建的单用户博客,支持markdown编辑,文章标签分类,发布文章/撤回发布文章,支持服务端渲染(Server-Side Rendering)
<p align="center">
<img src="http://img.imhjm.com/vue-blog-1.png" width="700px">
<img src="http://img.imhjm.com/vue-blog-admin-22.png" width="700px">
<img src="http://img.imhjm.com/vue-blog-2.png" width="700px">
<br>
访问链接:https://imhjm.com/
</p>
## 整体架构
<img width="973" src="http://img.imhjm.com/vue-blog-2-ssr.png">
- client端分为`front`和`admin`,`webpack2`打包实现多页配置,开发模式下`hot reload`
- admin端使用vue2、vuex、vue-router
- front端直接使用 ~~vue event bus~~ vuex(考虑到今后博客应用可能变复杂)、vue-router, Fastclick解决移动端300ms延迟问题
- 编辑器使用[simplemde](https://github.com/NextStepWebs/simplemde-markdown-editor)
- markdown解析和高亮使用marked.js和highlight.js
- server
- 使用koa2+koa-router实现RESTful API
- mongoose连接mongodb
- 前后端鉴权使用[jwt](https://github.com/auth0/node-jsonwebtoken)
- 实现Server-Side Rendering服务端渲染
## 更多细节
- 博客线上地址:http://imhjm.com/
- [基于vue2、koa2、mongodb的个人博客](http://imhjm.com/article/58f76ed0c9eb43547d08ec6c)
- [Vue2服务端渲染实践以及相关解读](http://imhjm.com/article/590710fbe3176b248999f88c)
> 访问博客线上地址可以获得最新信息
## 快速开始
- 需要Node.js 6+版本
- 需要安装mongodb,并且运行mongodb服务,在`server/configs/index.js`中默认连接`mongodb://localhost:27017/vue-blog`
- 配置`server/configs/index.js`,配置admin用户名、密码等,或者新建`server/configs/private.js`
> 注:可使用docker快速开始,详见后文
``` bash
# install dependencies
# 安装依赖,可以使用yarn/npm
npm install # or yarn install
# serve in dev mode, with hot reload at localhost:8889
# 开发环境,带有HMR,监听8889端口
npm run dev
# build for production
# 生产环境打包
npm run build
# serve in production mode (with building)
# 生产环境服务,不带有打包
npm start
# serve in production mode (without building)
# 生产环境服务,带有打包
npm run prod
# pm2
# need `npm install pm2 -g`
npm run pm2
```
## 使用docker快速开始
- 首先,需要访问[docker官网](https://www.docker.com/)根据不同操作系统获取docker
- docker官方文档:https://docs.docker.com/
- mongo dockerhub文档:https://hub.docker.com/_/mongo/ (关于auth/volumes一些问题)
``` bash
# development mode(use volumes for test-edit-reload cycle)
# 开发模式(使用挂载同步容器和用户主机上的文件以便于开发)
# Build or rebuild services
docker-compose build
# Create and start containers
docker-compose up
# production mode
# 生产模式
# Build or rebuild services
docker-compose -f docker-compose.prod.yml build
# Create and start containers
docker-compose -f docker-compose.prod.yml up
# 进入容器开启交互式终端
# (xxx指代容器名或者容器ID,可由`docker ps`查看)
docker exec -it xxx bash
```
> 注:为了防止生产环境数据库被改写,生产模式数据库与开发环境数据库的链接不同,开发环境使用vue-blog,生产环境使用vue-blog-prod,具体可以看docker-compose配置文件
## 自定义配置
server端配置文件位于`server/configs`目录下
``` javascript
// 可新建private.js定义自己私有的配置
module.exports = {
mongodbSecret: { // 如果mongodb设置用户名/密码可在此配置
user: '',
pass: ''
},
jwt: { // 配置jwt secret
secret: ''
},
admin: { // 配置用户名/密码
user: '',
pwd: ''
},
disqus: { // disqus评论
url: '',
},
baidu: { // 百度统计
url: '',
},
}
```
## LICENSE
[MIT](https://github.com/BUPT-HJM/vue-blog/blob/master/LICENSE)
没有合适的资源?快使用搜索试试~ 我知道了~
使用 vue2、koa2 和 mongodb 构建的支持服务端渲染的单用户博客.zip
共89个文件
js:38个
vue:13个
styl:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 51 浏览量
2024-12-02
02:08:07
上传
评论
收藏 199KB ZIP 举报
温馨提示
vue-博客使用 vue2、koa2 和 mongodb 构建的支持服务端渲染的单用户博客一个使用vue2、koa2、mongodb搭建的单用户博客,支持markdown编辑,文章标签分类,发布文章/撤回发布文章,支持服务端渲染(Server-Side Rendering) 访问链接 https: //imhjm.com/整体架构client端划分front和admin,webpack2资源共享实现多页配置,开发模式下hot reloadadmin端使用vue2、vuex、vue-routerfront端直接使用Vue 事件总线vuex(考虑到后面博客应用可能会变复杂)、vue-router、Fastclick解决移动端300ms延迟问题编辑器使用simplemdemarkdown解析和高亮使用marked.js和highlight.js服务器使用koa2+koa-router实现RESTful APImongoose连接mongodb前帳鉴权使用jwt实现服务端渲染服务端渲染更多细节博客线上地址http://imhjm.com/基于vu
资源推荐
资源详情
资源评论
收起资源包目录
使用 vue2、koa2 和 mongodb 构建的支持服务端渲染的单用户博客.zip (89个子文件)
yarn.lock 172KB
nodemon.json 238B
标签.txt 43B
LICENSE 1KB
client
src
lib
debounce.js 239B
throttle.js 486B
marked.js 2KB
modules
admin
App.vue 497B
store
mutation-types.js 939B
modules
auth.js 1KB
editor.js 9KB
index.js 316B
assets
logo.png 7KB
stylus
_syntax.styl 1KB
preview.styl 13KB
_settings.styl 345B
reset.styl 8KB
main.styl 178B
app.js 2KB
components
List.vue 7KB
Editor.vue 12KB
Login.vue 2KB
Admin.vue 1KB
index.html 492B
front
App.vue 2KB
store
index.js 4KB
assets
logo.png 7KB
iconfont
iconfont.ttf 5KB
iconfont.css 664B
iconfont.svg 2KB
iconfont.eot 5KB
iconfont.woff 3KB
stylus
_syntax.styl 1KB
markdown.styl 11KB
_settings.styl 461B
reset.styl 8KB
main.styl 315B
app.js 1KB
components
List.vue 5KB
common
Side.vue 7KB
Top.vue 2KB
Comment.vue 735B
Article.vue 4KB
index.html 754B
router
index.js 1KB
entry-client.js 487B
entry-server.js 1KB
api
login.js 163B
article.js 1KB
tag.js 514B
components
Loading.vue 3KB
Pagination.vue 3KB
build
webpack.client.config.js 6KB
webpack.server.config.js 952B
koa2
dev.js 682B
hot.js 551B
webpack.base.config.js 3KB
setup-dev-server.js 2KB
static
.gitkeep 0B
docker-compose.prod.yml 397B
docker-compose.yml 450B
.babelrc 188B
package.json 3KB
pm2.json 346B
package-lock.json 316KB
.eslintrc.json 24KB
资源内容.txt 907B
node.dockerfile 235B
.gitignore 122B
.eslintignore 74B
server
controllers
token_controller.js 2KB
tags_controller.js 2KB
articles_controller.js 7KB
configs
index.js 1005B
api
routes
token.js 158B
articles.js 487B
tags.js 337B
index.js 536B
middleware
historyApiFallback.js 559B
index.js 656B
verify.js 739B
logs
.gitkeep 0B
models
user.js 293B
article.js 916B
tag.js 388B
index.js 4KB
start.js 149B
.dockerignore 85B
README.md 4KB
共 89 条
- 1
资源评论
徐浪老师
- 粉丝: 8254
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ssm338基于SSM框架的健康管理系统vue.zip
- ssm600基于SSM的毕业生就业管理系统vue.zip
- 基于微信小程序图书馆座位再利用系统.zip
- ssm347基于SSM的药店药品销售系统vue.zip
- ssm377校医务系统vue.zip
- weixin085警务辅助人员管理系统ssm.rar
- weixin262高校校园交友微信小程序springboot.rar
- ssm082基于java斗车交易系统设计与实现vue.rar
- ssm222培训学校教学管理平台vue.zip
- weixin074儿童预防接种预约微信小程序springboot.rar
- springboot326校园体育场馆设施使用管理网站.rar
- 微信小程序租房平台.zip
- springboot128中小企业人事管理系统代码.zip
- 179 SSM 驾校预约管理系统.zip
- weixin177高校教师成果管理小程序的设计与实现springboot.rar
- 519幼儿园管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功