Skip to content
This repository has been archived by the owner on Nov 28, 2022. It is now read-only.

Hokori23/Pro_design

Repository files navigation



本仓库已归档,重构的新版本请移至https://github.com/Hokori23/GeekBlog



华信专业设计

contributors pull request last commit

repo size code size language

key words

Todo-List

  • bug: 文章编辑器更改 title, coverUrl 时,会丢失文章内容 content
  • feat: 文章内图片支持点击放大
  • feat: 文章内支持[photos]功能,即内联多图片
  • feat: 文章编辑器支持上传图片功能
  • 音乐播放器
  • 视频播放器
  • feat: 支持多标签查询文章
  • feat: 自定义页面展示
  • feat: 文章 LANDSCAPE 样式

安装与运行

前后端放在一个仓库里面,使用 lerna 统一管理。你需要全局安装 lerna:

npm i -g lerna
# 安装根目录依赖
npm i
# 自动前后端所有依赖
lerna bootstrap
# 同时 build 前后端
lerna run build
# 生成文件目录
npm run tree

目前已经将 lerna bootstrap 加入了 postinstall 脚本中,会在 npm i 的时候自动运行。同时在 pull 的时候如果远程仓库的依赖发生改变会自动运行 npm i,参考脚本 .scripts/update_dependencies.sh。因此只需要第一次 clone 仓库的时候手动在根目录 npm i,一下,后续都是自动安装依赖的了。

前端

cd frontend
npm start # 运行

存放于文件夹 frontend

前端主要技术栈

  • TypeScript
  • React
  • Rematch
  • Axios

后端

cd backend
npm run dev # 开发模式运行
npm run serve # 生产模式运行

# 构建
npm run build # 构建运行文件
npm run build:force # 清空build文件夹并构建运行文件
npm run build:sass w # 监听sass/scss文件改动并构建css文件,用于邮件模板开发

存放于文件夹 backend

后端主要技术栈

  • TypeScript
  • Express
  • Express-JWT
  • Sequelize
  • JsonWebToken

接口文档

参考:https://documenter.getpostman.com/view/8434489/Tz5tZGYX#intro

项目基础配置

推荐插件

.vscode/extensions.json 中列出了推荐安装的插件,打开 VSCode 的时候会提示是否安装,最好全部安装一下。

workspace 设置

.vscode/settings.json 中配置了项目的共享配置,这些配置在所有的协作者本地都是一样的,保证大家的环境一致性。

代码规范

统一使用 ESLint 进行代码规范和格式化,采用 standardjs 标准,并集成了 eslint-plugin-prettier。如需增加规则,可修改配置文件 .eslintrc.js

采用 lint-staged 进行 commit 时的代码格式化,如果不合规范将无法 commit。当然在特殊情况下你可以用 git commit -n 来绕过这些检查,但是不建议。