vue+node支持服务端渲染的博客系统

感悟

历时两个多月,终于利用工做之余完成了这个项目的1.0版本,为何要写这个项目?其实基于vuejs+nodejs构建的开源博客系统有不少,可是大多数不支持服务端渲染,也不支持动态标题,只是作到了先后端分离,对于博客类系统seo确定很重要,索性就本身动手写了这个项目,其中也遇到了很多问题, 由于基于服务端渲染的项目很少,本身能力也有限,因此用了好长时间。这里特别感谢@lincenying,提供了登陆功能的解决思路,也是我在开发过程当中遇到最难解决的问题,本项目基于vue-hackernews-2.0开发,支持PWA(需升级为https),演示地址:https://www.86886.wang,项目地址:https://github.com/wmui/essay前端

开发环境和技术栈

操做系统:windows 10 64位
开发工具 :webstrom sublime
前端:vue.js + vue-router + vuex
后端:node.js + mongodb (采用express框架)vue

特点功能

支持服务端渲染
支持标题动态切换
支持PWA
支持markdown语法,样式采用github风格,代码高亮
支持文章保存为草稿
支持标签和归档功能node

pc端效果图

首页效果图

代码高亮效果图

后台发布页面

后台文章列表

修改我的信息

手机端效果图,以chrome浏览器演示

添加到主屏

启动效果

首页效果

文章页效果

更多效果你们可经过线上演示地址查看git

本地运行项目

  1. 安装mongodb并启动
  2. 安装git工具
  3. 克隆项目到你的本地
  4. 修改配置项信息,/server/settings.js,你也能够默认不修改,默认用户名:q,默认密码:q
let user = 'q';
let pass = md5('q');
let avatar = 'avatar.jpg';//头像
let intro ='Never too old to learn';
let nickname = 'vueblog';
module.exports = {
    dbUrl:'mongodb://localhost:27017/vueblog',
    user:user,
    pass:pass,
    avatar:avatar,
    intro:intro,
    nickname:nickname
}
  1. 打开本地终端,执行npm run dev ,访问http://localhost:8080

结语

关于如何部署到线上和部署https,后面会更新相关教程。此项目我会长期更新,但愿能和你们一块儿学习,共同进步github

更新: 本项目的2.0版本基于Nuxt.js开发,后端用Koa + Mongoose进行了重写。web

GitHub: https://github.com/wmui/essayvue-router

相关文章
相关标签/搜索