目录结构
使用 VD 创建项目会生成一些项目样板,VD 将源码环境分为:开发环境、构建中转环境、生产环境;根据项目类型的不同,生产环境的目录结构会有所不同。
VD@1.3.x 项目目录结构及说明:
root
|- .vd
|- src // 【开发环境目录】
| |- components // 展示组件目录
| | |- ...
| | |- Icon // 组件名称
| | | |- less // 样式资源目录
| | | |- images // 图片资源目录
| | | |- json // 静态数据目录
| | | |- doc // 使用文档目录
| | | |- __test__ // 单元测试用例目录
| | | |- Icon.js // 组件源码文件
| | | `- index.js // 组件入口文件
| | `- index.js // 组件合集入口文件
| |- containers // 容器组件目录
| |- redux // 异步流目录
| | |- ...
| | |- reducers.js // Reducer(rootReducer)配置文件
| | `- sagas.js // Saga(rootSaga) 配置文件
| |- store // 【*】Store 目录;VD@1.4.x 之后移除
| | `- configureStore.js // Store 配置文件
| |- configs // 配置文件目录
| | `- api.js // API 接口地址配置对象
| |- utils // 工具集目录
| | `- axios.js // 请求及全局异常处理配置文件
| |- sprite // CSS Sprite 源图目录(.png)
| |- favicon.ico // Web 应用图标
| |- index.ejs // HTML 模板文件
| |- index.js // 单页应用入口文件
| `- App.js // 路由配置文件
|- .build // 【构建中转环境目录】
|- dist // 【生产环境目录】
| |- upgrade // 浏览器升级引导页目录
| |- resources // 资源目录
| | |- dll // Dll 资源(js)
| | |- js // 脚本资源目录
| | |- css // 样式资源目录
| | `- images // 图片资源目录
| |- favicon.ico // Web 应用图标
| `- index.html // 单页应用入口文件
|- upgrade // 【浏览器升级引导页目录】(兼容IE8-)
|- .editorconfig // 编辑器配置文件
`- .tern-project // Atom Ternjs 配置文件
在 VD@1.4.x 以后,内置了 dva 框架,根据 dva 最佳实践推荐,目录调整如下:
root
|- .vd
|- src // 【开发环境目录】
| |- components // 展示组件目录
| | |- ...
| | |- Icon // 组件名称
| | | |- less // 样式资源目录
| | | |- images // 图片资源目录
| | | |- json // 静态数据目录
| | | |- doc // 使用文档目录
| | | |- __test__ // 单元测试用例目录
| | | |- Icon.js // 组件源码文件
| | | `- index.js // 组件入口文件
| | `- index.js // 组件合集入口文件
| |- routes // 【*】容器(路由)组件目录;作用同之前的容器组件目录(containers)
| |- models // 【*】数据模型目录;作用同之前的异步流目录异步数据处理部分的代码(redux)
| |- services // 【*】请求服务目录;作用同之前的异步流目录调用接口部分的代码(redux)
| |- configs // 配置文件目录
| | `- api.js // API 接口地址配置对象
| |- utils // 工具集目录
| | `- axios.js // 请求及全局异常处理配置文件
| |- sprite // CSS Sprite 源图目录(.png)
| |- favicon.ico // Web 应用图标
| |- index.ejs // HTML 模板文件
| |- index.js // 【*】单页应用入口文件;作用同之前的(index.js + store 目录)
| `- router.js // 【*】路由配置文件;作用同之前的(App.js)
|- .build // 【构建中转环境目录】
|- dist // 【生产环境目录】
| |- upgrade // 浏览器升级引导页目录
| |- resources // 资源目录
| | |- dll // Dll 资源(js)
| | |- js // 脚本资源目录
| | |- css // 样式资源目录
| | `- images // 图片资源目录
| |- favicon.ico // Web 应用图标
| `- index.html // 单页应用入口文件
|- upgrade // 【浏览器升级引导页目录】(兼容IE8-)
|- .editorconfig // 编辑器配置文件
`- .tern-project // Atom Ternjs 配置文件
VD@2.x 项目目录结构及说明(带构建环境):
root
|- .vd
|- src // 【开发环境目录】
| |- components // 展示组件目录
| | |- ...
| | |- Icon // 组件名称
| | | |- less // 样式资源目录
| | | |- images // 图片资源目录
| | | |- json // 静态数据目录
| | | |- doc // 使用文档目录
| | | |- __test__ // 单元测试用例目录
| | | |- Icon.js // 组件源码文件
| | | `- index.js // 组件入口文件
| | `- index.js // 组件合集入口文件
| |- routes // 容器(路由)组件目录
| |- models // 数据模型目录
| |- services // 请求服务目录
| |- configs // 配置文件目录
| |- utils // 工具集目录
| |- sprite // CSS Sprite 源图目录(.png)
| |- favicon.ico // Web 应用图标
| |- index.ejs // HTML 模板文件
| |- index.js // 单页应用入口文件
| `- router.js // 路由配置文件
|- .build // 【构建中转环境目录】
|- dist // 【生产环境目录】
| |- upgrade // 浏览器升级引导页目录
| |- resources // 资源目录
| | |- dll // Dll 资源(js)
| | |- js // 脚本资源目录
| | |- css // 样式资源目录
| | `- images // 图片资源目录
| |- favicon.ico // Web 应用图标
| `- index.html // 单页应用入口文件
|- upgrade // 【浏览器升级引导页目录】(兼容IE8-)
|- .editorconfig // 编辑器配置文件
|- .tern-project // Atom Ternjs 配置文件
|- node_modules
|- .babelrc
|- jest.config.js
|- package.json
|- webpack.config.dll.js
|- webpack.config.common.js
|- webpack.config.dev.js
`- webpack.config.prod.js
项目类型为 “库”时,生产环境目录结构如下:
library // 【生产环境目录】(库类型下,NPM 部署目录)
|- es // Use: import { a } from 'libraryName'
|- lib // Use: var a = require('libraryName/a')
`- dist // Use: <script src='libraryName.js'></script>