让各大 AI 整理出来的前端工程命名最简实践(Vue + TS)

适用: Vue3 + TypeScript 项目,统一目录、文件、变量、函数、Hooks、工具类、组件命名规范,兼顾可读性、团队协作。

对象 命名格式
目录名 kebab-case
组件的目录名 PascalCase
组件文件名(注册名) PascalCase
hooks 文件名 kebab-case
tools 文件名 camelCase
Store 文件名 kebab-case
类型定义文件名 types/kebab-case.ts
单个组件类型定义文件名 PascalCase.types.ts
hooks 函数名 camelCase
Store 函数名 camelCase
Interface / Type PascalCase
函数和方法 camelCase
class PascalCase

以上是整合了多个高星开源项目,整理了各大 AI 的回答整理出来的大概命名规范,里边还有很多值得纠结的地方,现实中大家的项目一般都是各有各的规范。

乱吗? 说实话,这太乱了老铁,稍微不注意就用错了;

  • 那么目录名大小写乱用,有影响吗?没影响
  • 组件小写开头,影响导入、影响编译吗?不影响
  • 全局类型定义文件名使用 camelCase 有影响吗?也没有影响

过度区分命名格式会显著增加团队协作成本、增加出错概率。

vue 中,只要你能写对导入路径,那么代码就能正常运行,现代的编辑器,几乎都能在写导入路径时,给到开发者智能提示,何不将命名规范简化为:

对象 命名格式
目录名 camelCase
组件的目录名 camelCase
组件文件名(可选导入为 PascalCase camelCase
hooks 文件名 camelCase
tools 文件名 camelCase
Store 文件名 camelCase
类型定义文件名 types/camelCase.ts
单个组件类型定义文件名 camelCase.types.ts
hooks 函数名 camelCase
Store 函数名 camelCase
函数和方法 camelCase
Interface / Type PascalCase
class PascalCase

是不是简单多了,何必去纠结于命名,一套规则通杀,不用反复区分浪费生命;之所以大量使用 camelCase,主要还是为了兼容 hooks,和 函数、方法,这三样使用 camelCase 已经是共识了。

我使用这套简单粗暴版的规范已经有段时间了,没有出现过任何因为命名产生的问题,实际证明统一使用 camelCase 既不影响功能实现,又能显著降低心智负担,看着也非常舒服,特分享给大家。

另外,我知道 vue 官方文档写了组件名推荐 PascalCase 或者 kebab-case,那又咋了,不过是为了保持和 html 的标签一样的命名方式而已,而且 PascalCase 和 html 标签的命名方式也不一样,另外很多人会将 kebab-cased 的组件文件名,全局注册为 PascalCase 组件,搞得乱七八糟。

相关推荐
千里码aicood4 分钟前
Django+Vue 基于XGBoost与随机森林的沿海地区台风天气大数据预警系统实现
vue.js·随机森林·django
এ慕ོ冬℘゜6 分钟前
前端实战:jQuery实现动态表格渲染与状态切换功能
前端·javascript·jquery
zzzzzz31010 分钟前
react-bits:把酷炫动效从“灵感截图”变成可复用的 React 组件
javascript·react.js·动效
jay神1 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
FreeTinker7 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396237 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
wangruofeng8 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne8 小时前
WebRTC Native / Android 开发学习资源整理
前端
excel9 小时前
nuxt 3 升级 nuxt 4 报错之 hasInjectionContext
前端