让各大 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 组件,搞得乱七八糟。

相关推荐
夏幻灵2 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
Lvan的前端笔记2 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
三天不学习2 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194053 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
明月_清风4 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
Csvn5 小时前
框架性能优化
前端
雪芽蓝域zzs7 小时前
第 5 节:Marker 点击弹出 InfoWindow 信息窗口
vue.js
回眸&啤酒鸭7 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013847 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员7 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端