React开发框架Dva.js项目结构简单小结

目录

前言

  本篇简单对Dva.js项目的工程结构进行说明,具体的概念,设计,文档,详见Dva.js官网

项目结构


mock

属于前后端分离的一种实践,在后端接口未完全实现时,前端可通过mock数据的方式自测。


node_modules

项目依赖采用npm管理,所以来包均在此目录。


src

assets

项目静态资源目录(图片等)

components

无状态组件目录。根据react组件化的要求,该目录下的组件是根据具体业务逻辑进行合理划分,细粒度的无状态组件,业务相关的state交付上层容器组件管理。(当然,在具体实践中,该目录下的组件也可以维护少量的仅组件内部使用的状态,不涉及与后端的业务逻辑交互)

configs

配置文件目录。项目中可能会有一些配置项,统一写在这里方便管理。

models

状态model目录。项目所有状态管理均在此目录。对应是redux概念中的store。

routes

路由配置目录。路由是单页应用中的重要概念。这里统一配置整个项目的所有路由状态。

services

services层目录。这里就是一个“服务”层,负责对后端接口数据的请求和处理。在这里主要可以做两件事:
1.发出异步请求(此处不是直接发出,而是调用了下面的utils层的工具,为的是便于管理http全局状态)
2.对该接口返回的数据做数据适配adaptor,因为后端接口的数据格式、字段名等往往不一定与前端对应,便可以在这里对其做数据适配。

utils

工具函数层。主要是异步请求,全局http状态管理等全局公用的函数工具。

index.html

单页应用的入口html。整个工程仅这一个html文件。

index.js

单页应用入口js。在这里进行dva项目的初始化。可配置全局使用的history类型,接入日志等中间件,做好全局错误状态的拦截,引入上述routes的路由文件,引入项目所有model状态文件,最后启动整个应用。

index.less

全局通用样式配置。典型的有,对body html等元素的margin padding 做统一处理(设置为0,由于这些元素有默认margin padding,防止对后续样式设计产生影响)。

router.js

全局路由状态管理目录。在这里对整个应用的跳转关系进行设置。可以在某个路由上设置进入、离开等钩子函数,做出相应逻辑。


.editorconfig

编辑器统一设置,比如缩进方式等。

.eslintignore

.eslintignore ,如同 .gitignore 一样忽略对于某些文件,文件夹的检查。

.eslintrc

代码风格检查文件。

.gitignore

git版本管理忽略文件,对这里设置的目录不作为代码库的管理内容,推荐使用github上的gitignore项目的统一配置,比较全面。

.gitlab-ci.yml

项目CI持续集成配置文件

npm-debug.log

npm日志

package.json

npm包管理文件

proxy.config.js

项目开发测试服务器dora配置文件

webpack.config.js

webpack打包工具配置文件