egg项目目录结构
参考 https://blog.csdn.net/baidu_33438652/article/details/81517145
egg-project
├── package.json
├── app.js (可选) // 用于自定义启动时的初始化工作,可选
├── agent.js (可选) // 用于自定义启动时的初始化工作,可选
├── app
│ ├── router.js // 配置 URL 路由规则, URL 和执行动作的 Controller 间的关系
│ ├── controller // 解析用户输入,处理并返回结果,RESTful接口中,controller根据用户输入参数查询数据库返回结果或更新数据库,而HTML中则根据URL渲染不同的模板返回HTML给用户
│ │ └── home.js
│ ├── router(可选) // 配置 URL 路由规则, URL 和执行动作的 Controller 间的关系
│ │ └── api.js // 配置RESTful的API接口和controller之间的关系
│ ├── service (可选) // 业务逻辑层,Controller 中可以调用任何一个 Service 上的任何方法,提高了代码的复用性
│ │ └── user.js
│ ├── models // 放置领域模型, 由领域类相关插件约定
│ │ └── user.js
│ ├── middleware (可选) // 中间件,与KOA一样基于洋葱圈模型
│ │ └── response_time.js
│ ├── schedule (可选) // 用于定时任务,如定时上报应用状态,定时从远程接口更新本地缓存
│ │ └── my_task.js
│ ├── public (可选) // 用于放置静态资源,可选
│ │ └── reset.css
│ ├── view (可选) // 用于放置模板文件, 由模板插件约定, 参见[模板渲染](https://eggjs.org/zh-cn/core/view.html)
│ │ └── home.tpl
│ └── extend (可选) // 用于框架的扩展,可选
│ ├── helper.js (可选)
│ ├── request.js (可选)
│ ├── response.js (可选)
│ ├── context.js (可选)
│ ├── application.js (可选)
│ └── agent.js (可选)
├── config // 当指定 env 时会同时加载对应的配置文件,并覆盖默认配置文件的同名配置
│ ├── plugin.js // 用于配置需要加载的插件(插件就是一个迷你应用,包含了 Service、中间件、配置、框架扩展,但没有独立的 Router 和 Controller)
│ ├── config.default.js // 默认环境配置文件,所有环境都会加载这个配置文件
│ ├── config.prod.js // 上线产品的配置文件
│ ├── config.test.js (可选) // 测试环境配置
│ ├── config.local.js (可选) // 本地环境配置
│ └── config.unittest.js (可选)
└── test // 用于单元测试
├── middleware
│ └── response_time.test.js
└── controller
└── home.test.js
DVA项目目录结构
.
├── mock // mock数据文件夹
├── node_modules // 第三方的依赖
├── public // 存放公共public文件的文件夹
├── src // 最重要的文件夹,编写代码都在这个文件夹下
│ ├── assets // 可以放图片等公共资源
│ ├── components // 就是react中的木偶组件
│ ├── models // dva最重要的文件夹,所有的数据交互及逻辑都写在这里
│ ├── routes // 就是react中的智能组件,不要被文件夹名字误导。
│ ├── services // 放请求借口方法的文件夹
│ ├── utils // 自己的工具方法可以放在这边
│ ├── index.css // 入口文件样式
│ ├── index.ejs // ejs模板引擎
│ ├── index.js // 入口文件
│ └── router.js // 项目的路由文件
├── .eslintrc // bower安装目录的配置
├── .editorconfig // 保证代码在不同编辑器可视化的工具
├── .gitignore // git上传时忽略的文件
├── .roadhogrc.js // 项目的配置文件,配置接口转发,css_module等都在这边。
├── .roadhogrc.mock.js // 项目的配置文件
└── package.json // 当前整一个项目的依赖