前端项目命名规范

1,875 阅读3分钟

文件命名:

  • 项目命名全部以小写字母命名,以中划线分割。如my-project
  • 目录命名全部以小驼峰命名法,除第一个单词之外,其他单词首字母大写。如myDir
  • JS/TS 文件以小写字母命名,多个单词以下划线连接,例如 util.jsutil_helper.js
  • HTML/CSS文件命名,确保文件命名总是以字母开头而不是数字,且字母一律小写,以中划线连接且不带其他标点符号。如my_page.htmlmy_page.css
  • 组件文件命名遵循 Pascal 命名法(大驼峰),例如 AddressPicker.vue

    \

图片命名:

命名顺序

全部以小写字母命名,多个单词以下划线连接。

图片命名建议以以下顺序命名:

图片业务(可选) + 图片功能类别(必选)+ 图片功能名称(可选) + 图片精度(可选)

  • 图片业务:

    • oe_:在线教育
    • jp_:教培
    • bt_:碑帖
  • 图片功能类别:

    • logo:LOGO类
    • icon_:模块类固化的图标
    • btn_:按钮
    • bg_:可平铺或者大背景
  • 图片模块名称:

    • course:课程
    • avatar:用户头像
  • 图片精度:

    • 普清:@1x
    • Retina:@2x | @3x
      \

 

ClassName命名

ClassName的命名应该尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用中划线 “-” 连接

命名原则
  • 基于姓氏命名法(继承 + 外来),如下图:

191134437515258

  • 说明

    • 在子孙模块数量可预测的情况下,继承祖先模块的命名前缀。

      如:

      <div class="course">
        <div class="course-img">
        </div>
        <div class="course-option">
        </div>
      </div>
      
  • 当子孙模块超过4级或以上的情况下,可以考虑在祖先模块内具有识辨性的独立缩写作为新的子孙模块。

    如:

    <div class="course">
      <div class="course-img">
        <div class="course-img-ul">
          <div class="course-img-ul-info">
            <!-- 这个时候 ciui 为 canner-img-ul-info 首字母缩写-->
            <div class="ciui-txt"></div>
              </div>
          </div>
      </div>
      <div class="course-option">
      </div>
    </div>
    
常用命名推荐

注意: ad、banner、gg、guanggao 等有机会和广告挂勾的字眠不建议直接用来做ClassName,因为有些浏览器插件(Chrome的广告拦截插件等)会直接过滤这些类名,如:

<div class="ad"></div>

因此这种广告的英文或拼音类名不应该出现。

另外,敏感不和谐字眼也不应该出现,如:

<div class="fuck"></div>
ClassName含义
about关于
account账户
arrow箭头图标
article文章
aside边栏
audio音频
avatar头像
bg,background背景
bar栏(工具类)
branding品牌化
crumb,breadcrumbs面包屑
btn,button按钮
caption标题,说明
category分类
chart图表
clearfix清除浮动
close关闭
col,column
comment评论
community社区
container容器
content内容
copyright版权
current当前态,选中态
default默认
description描述
details细节
disabled不可用
entry文章,博文
error错误
even偶数,常用于多行列表或表格中
fail失败(提示)
feature专题
fewer收起
field用于表单的输入区域
figure
filter筛选
first第一个,常用于列表中
footer页脚
forum论坛
gallery画廊
group模块,清除浮动
header页头
help帮助
hide隐藏
hightlight高亮
home主页
icon图标
info,information信息
last最后一个,常用于列表中
links链接
login登录
logout退出
logo标志
main主体
menu菜单
meta作者、更新时间等信息栏,一般位于标题之下
module模块
more更多(展开)
msg,message消息
nav,navigation导航
next下一页
nub小块
odd奇数,常用于多行列表或表格中
off鼠标离开
on鼠标移过
output输出
pagination分页
pop,popup弹窗
preview预览
previous上一页
primary主要
progress进度条
promotion促销
rcommd,recommendations推荐
reg,register注册
save保存
search搜索
secondary次要
section区块
selected已选
share分享
show显示
sidebar边栏,侧栏
slide幻灯片,图片切换
sort排序
sub次级的,子级的
submit提交
subscribe订阅
subtitle副标题
success成功(提示)
summary摘要
tab标签页
table表格
txt,text文本
thumbnail缩略图
time时间
tips提示
title标题
video视频
wrap容器,包,一般用于最外层
wrapper容器,包,一般用于最外层