# React项目结构

合理的项目架构,对于项目的扩展与维护是至关重要的。

# 架构图

一般项目中,主要有三个文件夹与业务页面关系耦合。

api:API,不建议按业务区分文件。

views:具体模板,建议按业务区分文件。

const: 常量,建议按业务区分文件。

style: 样式文件,建议按业务区分文件。

TIP

views、const、style的文件结构应该一致。

|-- src 项目主目录
  |-- api
    |-- index.js 项目API文件,不建议区分各个模块的API。
  |-- views 项目模板页面文件夹
    |-- Home 一级目录,一级模块
      |-- Query 二级目录,二级模块
        |-- Register 三级目录,三级模块(建议最多三级目录)
          |-- User (模块级-独立路由组件以文件夹存储,方便扩展,比如此模块存在详情页)
            |-- components 模块组件(不含有独立路由)
              |-- Common.jsx 公共组件
              |-- list 组件下的子组件(与组件同名)
                |-- ListSearch.jsx 搜索组件
                |-- ...
              |-- detail
                |-- FormButton.jsx
                |-- ...
            |-- List.jsx 用户列表
            |-- Detail.jsx 注册详情
          |-- Admin 
            |-- List.jsx 管理员列表
            |-- Detail.jsx 注册详情
          |-- ... 其他组件
        |-- ... 其他三级目录
      |-- Welcome 二级目录(无三级目录的情况)
        |-- Hello (模块级组件文件夹即可)
          |-- Hello.jsx
          |-- ...其他组件
      |-- ... 其他二级目录
    |-- Admin 一级目录(无二级目录的情况)
      |-- User (模块级组件文件夹即可)
        |-- User.jsx
        |-- ...其他组件
    |-- ... 其他一级目录
  |-- style
    |-- layout-style 项目layout相关样式
    |-- view-style (对齐view文件结构)
      |-- home.module.scss 主页样式,建议一个模块(可能包含多页)一个样式文件即可
      |-- ...其他模块样式
    |-- reset.scss 重置样式
    |-- global.scss 全局样式
  |-- const 项目常量存放文件夹(对齐view文件结构)
    |-- fields 表格表单等
      |-- home
        |-- query
          |-- register
            |-- user
              |-- components
                |-- common.js 公共组件
                |-- list list子组件
                  |-- listSearch.js
                  |-- ...
              |-- list.js
              |-- detail.js
            |-- ...
          |-- ...
        |-- ...
      |-- ...

****无单独路由的组件,应该都放在components下****。

# 文件命名及路由

文件命名规则为大驼峰,不要下划线。

|-- ApplyProduct.jsx 文件规范命名

路由参数规则如下:

URL路径上的参数path,应该为中划线-分隔,不使用小驼峰。

最近更新时间: 2020/12/28 19:15:47