目录结构
icejs 的默认应用目录架构提供了良好的代码分层结构,适用于开发或大或小的应用,约定的目录结构如下:
├── .ice/ # 运行时生成的临时目录
├── build/ # 构建产物目录
├── mock/ # 本地模拟数据
│ ├── index.js
├── public/
│ ├── index.html # 应用入口 HTML
│ └── favicon.png # Favicon
├── src/ # 源码
│ ├── components/ # 自定义业务组件
│ ├── layouts/ # 布局组件
│ ├── pages/ # 页面
│ ├── models/ # 应用级数据状态
│ ├── global.scss # 全局样式
│ ├── config.ts # 环境配置
│ ├── routes.ts # 路由配置
│ └── app.ts # 应用入口
│
├── build.json
├── package.json
└── tsconfig.json
.ice/
运行 icejs 项目时默认生成的临时目录,该目录不需要进行 git 提交。
build/
运行 npm run build
后的构建产物目录。
mock/
本地模拟数据的目录。详见
public/
静态资源目录,默认包含 index.html
和 favicon.png
。
src/
源码目录
components/
项目通用的组件目录,推荐的目录形式如下:
Guide/
├── index.tsx
├── index.module.scss
└── __tests__ # 就近测试用例
layouts/
项目的布局文件目录,布局通常包含导航配置,布局组件,样式三部分,推荐的目录形式如下:
BasicLayout/
├── menuConfig.ts # 布局对应的菜单配置
├── index.tsx
└── index.module.scss
models/
项目的全局数据模型目录,通常包含多个 model 文件,推荐的目录形式如下。详见
models/
├── foo.ts
└── bar.ts
pages/
项目的页面文件目录,页面通常包含数据模型,页面组件、样式三部分,推荐的目录形式如下。
Home/ # Home 页面
├── model.ts # 页面级数据状态
├── index.tsx # 页面入口
└── index.module.scss # 页面样式文件
app.ts
项目的入口文件,用于对应用进行全局配置,包括路由、运行环境、请求、日志等。详见
config.ts
项目的环境配置,用于根据不同环境进行区分配置。详见
global.scss
全局的样式配置,框架默认会引入该文件。详见
routes.ts
应用的路由配置文件。详见
build.json
应用的工程配置文件。详见
package.json
应用所需要的各种模块,以及配置信息(比如名称、版本、许可证等元数据)。
tsconfig.json
TypeScript 编译所需的配置文件。