/vueblog

A blog system based on Nuxt.js

Primary LanguageJavaScript

Build Status License

VueBlog

English Doc

演示站

VueBlog是一个轻量级的博客应用

技术栈

  • 前端:Nuxt.js + Vuex
  • 后端: Mongoose + Koa

功能特性

  • 支持服务端渲染
  • PWA渐进式web应用
  • 轻量级Markdown编辑器
  • 支持标签、归档、搜索草稿箱等功能

本地运行

安装MongoDB数据库并启动,安装Node.js环境。

启动数据库

# yourDBpath 表示你自定义的数据库目录,任意位置皆可
sudo mongod --dbpath yourDBpath

运行项目

# install dependencies
yarn # or npm install

# serve in dev mode, with hot reload at http://127.0.0.1:3000
npm run dev

# build for production
npm run build

# serve in production mode
npm start

注意:

  1. 不要使用http://localhost:3000访问,而是用http://127.0.0.1:3000
  2. 建议使用yarn安装项目依赖,确保不会因为版本问题导致项目无法运行

全局配置

全局配置文件/server/config/index.js

默认用户名:q,默认密码:q

export default {
  // 初始化管理员信息,后台可以修改
  user: {
    role: 'superAdmin',
    username: 'q',
    password: 'q',
    email: 'qq22337383@gmail.com',
    nickname: 'VueBlog',
    motto: 'Never too old to learn',
    avatar: 'avatar.png'
  },
  jwt: {
    secret: 'vueblog'
  },
  // 数据库配置,默认即可
  mongodb: {
    host: '127.0.0.1',
    database: 'vueblog',
    port: 27017,
    username: '',
    password: ''
  },
  // 可选,评论功能需要配置github登录的密钥
  githubConfig: {
    githubClient: '',
    githubSecret: '',
    scope: 'user'
  },
  // 可选,评论通知的SMTP邮箱配置,目前只支持qq邮箱
  emailConfig: {
    user: '',
    pass: ''
  },
  app: {
    domain: '', // 可选,线上域名,比如https://www.86886.wang
    host: '127.0.0.1',
    port: 3000,
    routerBaseApi: 'api'
  }
}

线上部署

如果需要部署到线上看下效果,可以参考这里Nuxt项目自动化部署手册

如果感觉自动化部署太麻烦,可以简单部署上线

# install dependencies
npm install # or yarn

# build for production
npm run build

# serve in production mode
pm2 start npm --name "vueblog" -- start

开源协议

GPL-3.0