前端:项目 文件 文件夹 命名规范

2023-11-09

参考博客

简练总结

  • 项目名 小写中划线
  • 文件夹 小驼峰
  • 文件 小写下划线
  • class/id 小写中划线
  • 变量函数 小驼峰
  • 常量 大写
  • Vue组件 大驼峰
格式化规范 推荐使用Vscode 采用相同的配置,保证格式化统一。项目的格式化遵循eslintrc.js中规定的规则;HTML和CSS的格式化与主流保持一致。
命名规范
1. 文件名用下划线连接;
2. 类、id 用中划线;
3. 项目名用中划线;
4. 文件夹用小驼峰,组件用大驼峰。
项目命名 全部以小写字母命名,以中划线分割。如my-project
目录命名 全部以小驼峰命名法,除第一个单词之外,其他单词首字母大写。如myDir。
文件名 组件命名 遵循 Pascal 命名法(大驼峰),例如 AddressPicker.vue
JS/TS文件 小写字母命名,多个单词以下划线连接,例如 util.js、util_helper.js
HTML/CSS文件 确保文件命名总是以字母开头而不是数字,且字母一律小写,以下划线连接且不带其他标点符号。如 my_page.html、my_page.css。
标识符 媒体命名 全部以小写字母命名,多个单词以下划线连接。详情见下文
class/id命名 全部字母为小写,单词之间统一使用中划线 “-” 连接。详情见下文
js 变量 函数 采用小驼峰的命名方式;采用字母打头,不使用 `_` 和 `$` 与系统和第三库的变量进行区分;
js 常量 字母全大写
  • 图片命名: 全部以小写字母命名,多个单词以下划线连接
    常见组成:
    图片业务(可选) + 图片功能类别(必选)+ 图片模块名称(可选) + 图片精度(可选)
组成 举例
图片业务 oe_:在线教育 / jp_:教培 / bt_:碑帖
图片功能类别 logo:LOGO类 | icon_:模块类固化的图标 | btn_:按钮
图片模块名称 course:课程 / avatar:用户头像
图片精度 普清:@1x / Retina:@2x @3x
  • 视频音频等多媒体资源也可以采用类似的思路

  • class/id命名: 全部字母为小写,单词之间统一使用中划线 “-” 连接
    原则 父级class + 本级class ;
    超过四级时,可对祖先缩写成一个单词

  • JS 命名

  1. 变量与函数 采用小驼峰的命名方式;采用字母打头,不使用 _$ 与系统和第三方库的变量进行区分
  2. 全局变量可考虑全大写
  3. 常量使用全大写命名

有意义的命名

文件名使用小写的原因:避免有些服务器大小写敏感有些不敏感而造成的差异

Vue 倡导的规范

文件名采用中划线
vue 风格指南

必要的

  1. 组件名使用多个单词
    理由:避免与现有以及未来的 HTML 元素产生冲突
  2. Prop 定义尽量详细,类型、默认值、必要时设置验证器
    理由:代码可读性,格式校验
  3. 为 v-for 设置 key 值
    理由:管理子树状态,对象固化
    在极少数对性能有严格要求的情况下,为了避免对象固化,你可以刻意做一些非常规的处理。
  4. 避免 v-if 和 v-for 一起使用
    理由:vue2 v-for 的优先级更高,vue3 反之。避免歧义可采用其他方式替代。
  1. 需要筛选待迭代对象,可以通过计算属性处理。(不适用v-if)
  2. 使用 父级或 template 承载其中一个命令
  1. 为组件样式设置作用域
    不一定使用 scoped,BEM class管理
  2. 私有 property
    做不到私有,名称应当注意 $_yourPluginName_ 前缀
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端:项目 文件 文件夹 命名规范 的相关文章

  • React18.x + i18next + antd 国际化正确使用姿势及避坑指南

    如果你使用这个教程还不能够解决你的问题的话 直接私信我 免费一对一给你解决 一 使用vite创建一个react项目 具体的创建方法大家参考vite官方文档 大概的操作如下 如果需要更详细的 大家去自行搜索即可 pnpm create vit
  • js原型和原型链你只要看这一篇

    一 原型概述 任何对象都有一个原型对象 这个原型对象由对象的内置属性 proto 指向它的构造函数的prototyoe指向的对象 即任何对象都是由一个构造函数创建的 被创建的对象都可以获得构造函数的prototype属性 注意 对象是没有p
  • CSS之背景样式及边框样式

    1 背景样式 常用属性 background color 背景颜色 background image 背景图片 background repeat 背景图片的平铺方式 background position 背景图片的位置 backgrou
  • [Vue warn]: Cannot find element: #app

    解决方案 js在html页面头部引入的原因 自定义js文件要最后引入 因为要先有元素id vue才能获取相应的元素
  • 前端性能优化

    页面的性能指标 DCL DOMContentLoaded DOM解析完毕 FP First Paint 表示渲染出第一个像素点 FP一般在HTML解析完成或者解析一部分时候触发 FCP First Contentful Paint 表示渲染
  • vue中实现el-table点选和鼠标框选功能

    实现思路 项目有两个需求 既能在el table实现点选又能实现鼠标框选 一 点选实现思路 使用el table的cellClick方法 1 直接给点击的cell添加类名 cell classList add blue cell 然后把获取
  • web前端面试题整理(前端和计算机相关知识)

    1 你能描述一下渐进增强和优雅降级之间的不同吗 定义 优雅降级 graceful degradation 一开始就构建站点的完整功能 然后针对浏览器测试和修复 渐进增强 progressive enhancement 一开始只构建站点的最少
  • React-Router实战:NavLink

    基础 1 引入使用 import NavLink from react router dom
  • CSS动画:Transition与Animation

    本文总结CSS3中两个用来做动画的属性 一个是transition 另一个是animation 差异比较 CSS3 差异 transition 在给定的持续时间内平滑地更改属性值 从一个值到另一个值 也就是只需要指定开始与结束的参数 参数改
  • CSS transform属性的简单应用——双开门动画效果

    1 效果演示 CSS transform属性有许多效果 平移 旋转 缩放等 这里简单应用平移效果 实现双开门动画 以下为效果图 2 设计思路 设置一张居中的需要隐藏的底图 设置封面图 平分成左右两部分 鼠标悬浮在封面图上 触发 开门 效果
  • 微信小程序开发教程

    一 准备 下载微信小程序开发者工具 下载地址 注册微信小程序 前往注册 微信小程序开发文档 前往阅览 打开开发者工具 用微信扫码进入创建页面 填写配置如下 需要注意的是 AppId可以选择已经注册的账号Appid 也可以选择测试号 区别是测
  • 使用.NET 6(全球市场)构建Angular 13应用程序——第2部分

    目录 介绍 Yahoo Finance API 全球市场API 金融控制器 报价响应模型 雅虎金融设置 金融服务 Http获取报价端点 全球市场前端 我们尝试做什么 集成后端API项目 Angular Material 显示符号下拉列表 显
  • react脚手架配置别名并自动提示[VSCode]

    1 安装三方库 craco craco yarn add craco dev npm install craco craco save dev 2 配置craco config js const path require path modu
  • 网页是如何显示在浏览器

    这两天学习了一些网页如何在浏览器中显示的知识 感觉在我向前端走的路上非常有用 所以就在这里总结一下 大家可以看看 我也算是巩固一下知识 因为自己学识太浅 内容可能有一些错误之处 希望看到的朋友可以指出来啦 在Edge浏览器也加入Chromi
  • HTML、CSS、JavaScript分别实现什么功能?

    学习Web前端开发基础技术需要掌握 HTML CSS JavaScript 那么这三个都是分别实现什么功能的呢 下面和小编一起来看看吧 一 HTML是网页内容的载体 内容就是网页制作者放在页面上想要让用户浏览的信息 可以包含文字 图片 视频
  • 禁止ios浏览器页面上下滚动 (橡皮筋效果)弹性滚动 微信的下拉回弹

    发现之前阻止页面滚动的代码e preventDefault代码失效了 于是自己折腾了一番 找到了解决办法 一 前言 浏览器在移动端有一个默认触摸滚动的效果 让我们感触最深的莫过于微信浏览器里面 下拉时自带橡皮筋的效果 然而在开发的时候我们经
  • uni-app项目中使用scss语法

    最近正在学习uni app开发 我先把文档浅略翻了遍 发现组件和接口几乎都是按照微信小程序走 但是视图层上的语法又是按照vue的语法走的 所以开发过程一定要注意这点 然后我想在uni app项目中使用scss语法 但是具体怎么安装呢 历经曲
  • js实现鼠标悬停显示title效果

  • node中间件是什么意思?

    node中间件是什么意思 2020 09 11 16 11 17分类 常见问题 Node js答疑阅读 1757 评论 0 中间件是一种独立的系统软件或服务程序 分布式应用软件借助这种软件在不同的技术之间共享资源 中间件位于客户机 服务器的
  • React 笔记 jsx

    严格约定 React 组件必须以 大写字母开头 而 HTML 标签则必须是小写字母 React JSX JSX 是由 React 推广的 JavaScript 语法扩展 用于表达组件的 特殊语法的 js 函数 要求标签必须闭合 返回的组件必

随机推荐