news 2026/4/23 16:15:15

Vue3难以统一的命名规范

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue3难以统一的命名规范

1 至少保持两个单词

上面这个比较容易保证,其目的好像是防止和html标签冲突,不易于识别,我在另一篇文章中也吐槽过这个问题。

vue3脚手架示例工程中组件vue文件,除了App.vue是单个单词,其他的基本都是双字母,如下图

组件使用类似如下:

通过上面的示例,我们就认为文件名和组件名字是一样的。但是这个玩意开了一个口子,在TheWelcome 文件中你可以定义组件的名字叫xx。这个name通常不会用,默认组件名字就是和文件名字一样。需要重新取名字的情况是Eslint检查到你的文件名是单个单词,如Home.vue 那个就要求你的文件名必须是两单词的,如果你不想改文件名,你就可以在Home.vue文件中整个名字叫HomeView。这可能会导致你看见组件名字,不知道是对应那个文件,所以还是建议改文件名。

2 组件使用名字决策

这个就相当难搞了,看上面的例子,你会肯定会认为组件使用的时候和文件名保持一致,但是当你用了element-plus组件时,你发现它的标签用的时候横杠,如el-table-column。好这个就相当炸裂了。你会怎么做,如果你有点洁癖,我相信你会将<TheWelcome/> 改成<the-welcome/>,保持统一,而且VS Code输入提示得时候也是the-welcome,看起来很美好,一箭双雕。我想说你高兴得太早了。TypeScript出来做一把妖,看如下代码:

我的子类代码如下: //AddConfig.vue const dialogFormVisible = ref(false) //展示弹出框 function showAddPop() { dialogFormVisible.value = true } //暴露给父类调用 defineExpose({ showAddPop, }) //父组件代码如下 <div><add-config ref="addConfigEl"></add-config>xx</div> //下面这个声明一个元素引用,看起来相当蛋疼,这能提升开发效率,表示无法理解, const addConfigEl = ref<InstanceType<typeof AddConfig> | null>(null) const addConfig = () => { if (addConfigEl.value) { addConfigEl.value.showAddPop() } else { alert('xxxx') } } 父组件代码中如果不把add-config 改成AddConfig addConfig 中addConfigEl.value就会提示找不到showAddPop,实际上就是识别不了add-config

这下只能改回来,不知道该怎么办了,就是这样随便整。

3 复杂配置

Vue+VSCode+Vite+TypeScript+Prettier+Eslint,简单配置文件如下

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:59:02

D2RML暗黑破坏神2重制版多开启动器:一键开启多账号游戏新时代

D2RML暗黑破坏神2重制版多开启动器&#xff1a;一键开启多账号游戏新时代 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML 还在为暗黑破坏神2重制版多账号管理而烦恼吗&#xff1f;D2RML作为专业的暗黑2…

作者头像 李华
网站建设 2026/4/23 12:24:59

利用es进行嵌入式远程调试:操作指南

用 Elasticsearch 打造嵌入式远程调试体系&#xff1a;从实战出发的完整指南你有没有遇到过这样的场景&#xff1f;一批智能网关部署在偏远地区的变电站里&#xff0c;突然开始频繁离线。工程师赶过去花了两天才找到问题——某个定时任务阻塞了看门狗喂狗逻辑。而就在他们抵达现…

作者头像 李华
网站建设 2026/4/23 10:44:04

MooaToon完全攻略:10分钟掌握UE5顶级卡通渲染技术

MooaToon完全攻略&#xff1a;10分钟掌握UE5顶级卡通渲染技术 【免费下载链接】MooaToon The Ultimate Solution for Cinematic Toon Rendering in UE5 项目地址: https://gitcode.com/gh_mirrors/mo/MooaToon 想要在虚幻引擎5中实现完美的卡通渲染效果吗&#xff1f;Mo…

作者头像 李华
网站建设 2026/4/23 10:45:30

革命性跨平台文件管理:OpenMTP让macOS与Android无缝连接

革命性跨平台文件管理&#xff1a;OpenMTP让macOS与Android无缝连接 【免费下载链接】openmtp OpenMTP - Advanced Android File Transfer Application for macOS 项目地址: https://gitcode.com/gh_mirrors/op/openmtp 还在为macOS与Android设备间的文件传输烦恼吗&…

作者头像 李华
网站建设 2026/4/23 12:12:07

10、TiO₂ Wackherr在去除不同类型水中氯吡嘧磺隆的光催化效率对比评估

TiO₂ Wackherr在去除不同类型水中氯吡嘧磺隆的光催化效率对比评估 1. 引言 吡啶衍生物作为除草剂被广泛应用。由于其频繁使用、化学稳定性和抗生物降解性,它们常出现在废水中。而且,这些物质对生态系统和人类健康有危害,因此去除它们至关重要。 氯吡嘧磺隆(CLP)是一种…

作者头像 李华
网站建设 2026/4/23 12:12:21

5分钟掌握开源压缩神器:这些隐藏功能你知道吗?

5分钟掌握开源压缩神器&#xff1a;这些隐藏功能你知道吗&#xff1f; 【免费下载链接】7z 7-Zip Official Chinese Simplified Repository (Homepage and 7z Extra package) 项目地址: https://gitcode.com/gh_mirrors/7z1/7z 想象一下这个场景&#xff1a;你的电脑硬盘…

作者头像 李华