Skip to main content

项目架构

开发模式

通过 React(前端)+ nginx(代理) + koa2(服务端) + mysql(数据库暂未用到) + docker(项目部署)

Node

  • 服务端:需要启动服务端(默认端口为 8000)
    • 基于原生 / koa2 框架两种模式搭建 server 开发环境
      • 原生
        • bin:启动服务入口,引入 app 配置
        • app:把 数据 传输给 不同路由组
        • src/controller:数据库 api:增删改查
        • src/model:封装 结果数据 结构模型
        • src/router:不同路由组 返回 数据 和 数据库 的操作后的结果 => 浏览器
        • conf:mysql 配置(数据库)
        • db:启动 mysql 连接(数据库)
      • Koa2
        • 基于 Koa2 脚手架搭箭 server 端
        • 添加 src/controller:数据库 api:增删改查
        • 添加 src/model:封装 结果数据 结构模型
        • 添加 src/router:不同路由组 返回 数据 和 数据库 的操作后的结果 => 浏览器
        • 添加 conf:mysql 配置(数据库)
        • 添加 db:启动 mysql 连接(数据库)
    • 关联 node 层与 mysql 数据库,通过 sql 语句数据操作

Docker

  • 部署前端应用:docker 容器化(建立 前端 与 服务端+数据库 通信)
  • 建立 React 与 Nginx 的前端容器化
  • 编写 nginx.conf 对 nginx 进行反向代理,使用 URL rewrite 文件定向
  • 编写 dockerfile 构建前端项目镜像

(因开发环境引用本地第三方库,所以 docker 中未进行 npm insatll 打包,而是直接对编译后的文件进行容器化部署) 通过多层构建 Dockerfile.multi 优化镜像体积 建立 koa2 与 mysql 的 Node 应用容器化 通过 network 建立容器通信 编写 dockerfile,创建 Node 与 mysql 的 镜像 * 编写 docker component 同时开启多容器服务