Timeless's博客 项目是个人博客,主要用于管理和展示文章、追番等动态,记录生活点滴、各种想法以及工作学习成果,方便归纳总结。
前台框架:Nuxt.js(Vue2.0)
UI库:Element-ui
后台框架:ThinkJS(Node.js)
数据库:Mysql
缓存:File-cache
文件管理:本地+对象存储
会话信息:Session+Cookie
- 前后端用同一种开发语言
- 一个项目管理(后台、内容管理系统、前台),共用依赖与模块
- 同构渲染
- Nuxt 渲染引擎作为 Node.js 中间件,不用独立起服务
- Node 服务不对外直接访问,使用 Nginx 挡一层
- 管理系统登录
- 系统配置(个性化)
- 栏目管理(文章类别、展示页如关于)
- 文章管理(富文本编辑、文件上传、文件管理器)
- 文章详情(目录、代码高亮、大图预览)
- 文章归档、搜索(按标签展示)
- 影视番剧(追剧动态)
- 各种小工具(单页应用如我的音乐、足迹、必应每日壁纸等)
- 社区反馈(评论、友情链接)
- 前台主题(响应式、暗色模式)
- XML渲染(sitemap、rss 等XML展示)
client 前台
├── admin 内容管理平台
| ├── api 整合管理所有的api接口
| ├── layouts 外部容器
| ├── middleware
│ | └── permission.js 登录鉴权
| ├── plugins
│ | ├── api.js 使上下文能使用api请求
│ | ├── axios.js axios全局拦截器
│ | ├── element-ui element-ui按需引入
│ | └── svg-icon 注册svg icon组件
| ├── store vuex
| ├── styles 公共样式
| ├── utils 工具集
| ├── views 页面组件
| └── router.js @nuxtjs/router路由配置
├── common 内容管理平台和博客前台功能模块
├── front 博客前台
| ├── layouts 外部容器
│ | ├── app.vue 工具页面使用的外部容器,没有菜单
│ | └── default 默认容器,有菜单
| ├── pages nuxt页面
| ├── plugins
│ | ├── axios.js axios全局拦截器
│ | ├── element-ui element-ui按需引入
│ | └── filters 注册全局过滤器
| ├── store vuex
│ | └── index.js nuxtServerInit获取菜单及系统配置
| ├── vendor 第三方库
│ | ├── aplayer 音乐播放器
│ | ├── live2d Live2D Cubism SDK v2看板娘
│ └── └── spine-ts spine骨骼动画
├── config 配置
| ├── adapter.model.js 数据库配置
│ ├── nuxt.admin.js 内容管理平台nuxt配置
│ └── nuxt.front.js 博客前台nuxt配置
├── logs 日志文件
├── runtime
| ├── cache 缓存
| ├── session 会话信息
├── src 后台
| ├── config 配置
│ | ├── adapter 数据库、缓存、日志等配置
│ | ├── middleware 中间件配置
│ | | └── nuxt.js nuxt中间件
│ | ├── extend.js thinkjs扩展配置
│ | └── router.js thinkjs路由
│ ├── controller 控制器
│ | ├── admin 内容管理平台api
│ | └── front 博客前台api
│ ├── logic 校验层
│ ├── model 模型,数据库操作
│ ├── service 服务,可复用,抽离controller逻辑
├── views
│ ├── rss.xml rss模板
│ └── sitemap.xml 网站地图模板
├── www 静态资源,nuxt打包目标目录
│ └── upload 上传目录
├── development.js thinkjs开发环境入口
├── nuxt.config.js
├── package.json
├── production.js thinkjs生产环境入口
# 安装依赖
npm install/cnpm install
# 调试热更新服务
# 服务使用代理,配置位于vue.config.js文件中
npm run dev
# 打包项目
npm run build
- 项目使用nginx进行部署