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

相关推荐
郭wes代码3 小时前
纯 CSS+JS 实战:手搓一张支持自定义的通用金色电子奖状(万字详细拆解)
前端·javascript·css
用户841794814563 小时前
vxe-table 实现编辑列的权限控制:列级与表级权限管理
vue.js
用户847181054193 小时前
DeepAgents.js 教程 06—— 跨会话长期记忆(Memory与AGENTS.md)
javascript·agent
阿黎梨梨3 小时前
React 表单处理与性能优化:从入门到进阶
前端·react.js
Whbbit19993 小时前
发布自己的 shadcn-vue 扩展组件,并支持 CLI 安装
前端·开源
Tian_Hang3 小时前
Vue3 父子组件通讯
前端·javascript·vue.js
breeze jiang3 小时前
React memo、useCallback 与 useMemo:父组件多状态时如何减少无效渲染
前端·javascript·react.js
小黑技术栈3 小时前
Java前端基础到入门——16day
java·开发语言·前端
朱涛的自习室4 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能