前端项目目录结构规范
前前端端项项目目目目录录结结构构规规范范
简简介介
该文档主要的设计 目标是项 目开发的目录结构保持一致,使容易理解并方 构建与管理。
要要求求
在本文档中,使用的关键字会以中文+括号包含的关键字英文表示:必须(MUST) 。关键字"MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"被定义在rfc211 中。
规规范范说说明明约约定定
以下规范文档中:
1. 项 目包含但不限于业务项 目和包项 目。
2. ${root}表示项 目的根 目录。
资资源源分分类类
资源分成两大类:
1. 源代码资源:指开发者编写的源代码,包括js、html、css、template等。
2. 内容资源:指希望做为内容提供给访问者的资源,包括图片、字体、flash、pdf等。
目目录录命命名名原原则则
1. 简洁。有习惯性缩写的单词 必须(MUST) 采用容易理解的缩写。如:源代码 目录使用src,不使用source。下面是更多例
子:
1. img: 图片。 不允许 (MUST NOT) 使用image、images、imgs等。
2. js: j avascript脚本。 不允许 (MUST NOT) 使用script、scripts等。
3. css: 样式表。 不允许 (MUST NOT) 使用style、styles等。
4. swf: flash。 不允许 (MUST NOT) 使用flash等。
5. src: 源文件 目录。 不允许 (MUST NOT) 使用source等。
6. dep: 引入的第三方依赖包 目录。 不允许 (MUST NOT) 使用lib、library、dependency等。
2. 不允许 (MUST NOT) 使用复数形式。如:imgs、docs是不被允许的。
目目录录划划分分
${root}目目录录结结构构划划分分
在${root}下,目录结构 必须(MUST) 按照职能进行划分, 不允许 (MUST NOT) 将资源类型或业务逻辑划分的目录直接置于${root}
下。
常用的目录有src、doc、dep、test等。详细请参考一级 目录详细说明
${root}/
src/
test/
doc/
dep/
...
业业务务项项 目目目目录录结结构构划划分分
业务项 目的${root} 目录结构划分遵循${root} 目录结构划分。
项项 目目代代号号
前前端端项项目目目目录录结结构构规规范范
业务项 目 可以(SHOULD) 为项 目起一个代号名称。代号名称 必须(MUST) 为一个单词,不宜过长。例:北斗的项 目代号
为triones,哥伦布的项 目代号为clb,百度锦囊的项 目代号为jn。项 目代号有利于区分不同项 目,为未来项 目之间的重用留下扩
展的后路。
在项 目开发时,通常会使用如下加载器配置,将项 目代号指向src。
{
baseUrl: '${docroot}',
paths: {
'triones': 'src'
}
}
根根据据业业务务逻逻辑辑划划分分src目目录录结结构构
业务项 目的src目录内,绝大多数情况 应当(SHOULD) 根据业务逻辑划分 目录结构。划分出的子 目录 (比如例子中的biz1)我们称
为业务 目录。
src下 必须(MUST) 只包含业务 目录与common目录。业务公共资源 必须(MUST) 命名为common。common目录做为业务公共资源的目
录,也视如业务 目录。
${root}/
src/
common/
biz1/
subbiz1/
subbiz2/
biz2/
较小规模的业务项 目 (如投放端),src目录允许视如业务 目录,直接按照业务 目录划分原则划分 目录结构。
${root