【Vue】vue项目中命名规范(结合上一篇项目结构)

组件命名规范:

  1. 多单词命名
    避免使用单个单词命名组件,因为这可能会导致命名冲突。相反,应该使用描述性的多单词命名,如 UserProfileSettingsPanel 等。

  2. 使用帕斯卡命名法
    组件名称应该以大写字母开头,并且每个单词的首字母都大写,例如 MyComponent。这是遵循 JavaScript 和 TypeScript 类命名的惯例。

  3. 避免使用 HTML 标签名
    不要使用 HTML 标签名作为组件名,如 divspanheader 等,这可能会导致混淆。

  4. 描述性
    组件名称应该描述其功能或内容,这样其他开发者可以通过名称快速理解组件的用途。

  5. 避免使用通用或模糊的名称
    避免使用如 ContainerWrapperBlock 等过于通用的名称,除非它们确实表示一个容器或包装器组件。

  6. 使用特定的前缀
    如果项目中有很多组件,可以使用特定的前缀来区分不同类别的组件,例如 User-ProfileAdmin-Dashboard 等。

  7. 文件名和组件名一致
    组件的文件名应该与其名称一致,例如 UserProfile.vue

  8. 避免使用缩写
    除非缩写是广泛认可的(如 IDURL),否则不要在组件名称中使用缩写,因为这可能会降低代码的可读性。

  9. 考虑组件的作用域
    如果组件是特定于应用程序的某个部分,可以在名称中包含该部分的名称,如 UserProfile 可能比 Profile 更好。

  10. 遵循项目约定
    如果项目已经有了一套命名约定,应该遵循这些约定,以保持代码风格的一致性。

  11. 使用连字符分隔
    在单文件组件(.vue 文件)中,文件名应该使用连字符分隔单词,如 user-profile.vue,但在 JavaScript 代码中,组件名应该使用帕斯卡命名法,如 UserProfile

vue项目中,每个包下文件的命名规范:

在这里插入图片描述

  1. components

    • 使用描述性名称,如 UserProfile.vueSettingsButton.vue
    • 避免使用通用名称,如 Container.vue,除非它确实是一个容器组件。
    • 如果组件是另一个组件的子组件,可以使用命名空间,如 UserProfile-EditButton.vue
  2. composables(Vue 3 的组合式 API):

    • 使用动词或形容词描述功能,如 useUserAuth.jsuseFetchApi.js
    • 如果函数返回多个值,可以使用复数形式,如 useUserAuth.js 可能返回 userisAuthenticated
  3. views

    • 使用页面或视图的名称,如 HomePage.vueLoginView.vue
    • 对于布局组件,可以使用 Layout 后缀,如 AdminLayout.vue
  4. layouts

    • 使用布局的名称,如 MainLayout.vueBlankLayout.vue(无侧边栏或头部的布局)。
  5. router

    • 使用路由的名称,如 userRoutes.jsadminRoutes.js
    • 可以为根路由文件命名为 index.js
  6. store(状态管理,如 Vuex 或 Pinia):

    • 使用状态的名称,如 userStore.jsthemeStore.js
    • 模块可以使用命名空间,如 user.js 可能包含 loginlogout 等动作。
  7. services

    • 使用服务的名称,如 userService.jsapiService.js
    • 对于与特定 API 端点交互的服务,可以使用端点名称,如 userApi.js
  8. utils

    • 使用工具函数的描述性名称,如 formatDate.jsparseJson.js
    • 对于一组相关工具函数,可以使用复数形式,如 dateUtils.js
  9. styles

    • 使用样式的描述性名称,如 theme.cssvariables.css
    • 对于特定组件的样式,可以使用组件名称,如 buttonStyles.css
  10. assets

    • 对于图片,使用描述性名称,如 logo.pngbackground.jpg
    • 对于字体,使用字体名称,如 Roboto-Regular.ttf
  11. directives

    • 使用指令的描述性名称,如 v-tooltip.jsv-confirm.js
  12. enums

    • 使用枚举的描述性名称,如 UserRoles.jsStatusCodes.js
  13. hooks(自定义 Composition API 钩子):

    • 使用钩子功能的描述性名称,如 useIntersectionObserver.jsuseKeyPress.js
  14. typings(TypeScript 类型定义):

    • 使用类型的描述性名称,如 UserType.jsApiResponseType.js
  15. constants

    • 使用常量的描述性名称,如 statusCodes.jsthemeColors.js
  16. config

    • 使用配置项的描述性名称,如 envConfig.jsapiEndpoints.js
  17. locales

    • 使用语言或区域的描述性名称,如 en-US.jszh-CN.js

遵循这些命名规范可以帮助你创建一个清晰、一致且易于维护的 Vue 项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501257.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node.js之---事件循环机制

事件循环机制 Node.js 事件循环机制(Event Loop)是其核心特性之一,它使得 Node.js 能够高效地处理大量并发的 I/O 操作。Node.js 基于 非阻塞 I/O,使用事件驱动的模型来实现异步编程。事件循环是 Node.js 实现异步编程的基础&…

信息科技伦理与道德1:绪论

1 问题描述 1.1 信息科技的进步给人类生活带来的是什么呢? 功能?智能?陪伴?乐趣?幸福? 基于GPT-3的对话Demo DeepFake 深伪技术:通过神经网络技术进行大样本学习,将个人的声音、面…

uniapp 自定义类微信支付键盘 (微信小程序)

效果图 代码: <view class"popups popupsB"><view class"appreciatePrice"><view class"appreciatePriceTitle">赞赏金额</view><view class"appreciatePriceInput flex ac">&#xffe5;<input typ…

电子电气架构 --- 中央处理器HPC及软件架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

大模型 LangChain 开发框架:Runable 与 LCEL 初探

大模型 LangChain 开发框架&#xff1a;Runable 与 LCEL 初探 一、引言 在大模型开发领域&#xff0c;LangChain 作为一款强大的开发框架&#xff0c;为开发者提供了丰富的工具和功能。其中&#xff0c;Runnable 接口和 LangChain 表达式语言&#xff08;LCEL&#xff09;是构…

Flash Attention V3使用

Flash Attention V3 概述 Flash Attention 是一种针对 Transformer 模型中注意力机制的优化实现&#xff0c;旨在提高计算效率和内存利用率。随着大模型的普及&#xff0c;Flash Attention V3 在 H100 GPU 上实现了显著的性能提升&#xff0c;相比于前一版本&#xff0c;V3 通…

《Vue3实战教程》34:Vue3状态管理

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 状态管理​ 什么是状态管理&#xff1f;​ 理论上来说&#xff0c;每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例&#xff1a; vue <script setup> import { r…

电脑找不到mfc110.dll文件要如何解决?Windows缺失mfc110.dll文件快速解决方法

一、mfc110.dll文件的重要性 mfc110.dll&#xff0c;全称Microsoft Foundation Class Library 110&#xff0c;是Microsoft Visual C Redistributable for Visual Studio 2012的一部分。这个动态链接库&#xff08;DLL&#xff09;文件对于支持基于MFC&#xff08;Microsoft F…

OSPF特殊区域(open shortest path first LSA Type7)

一、区域介绍 1、Stub区域 Stub区域是一种可选的配置属性。通常来说&#xff0c;Stub区域位于自治系统的边界&#xff0c;例如&#xff0c;只有一 个ABR的非骨干区域。在这些区域中&#xff0c;设备的路由表规模以及路由信息传递的数量都会大量减少。 kill 4 5类type 传递1 …

浏览器选中文字样式

效果 学习 Chrome: 支持 ::selection。Firefox: 支持 :-moz-selection 和 ::selection。Safari: 支持 ::selection。Internet Explorer: 支持 :-ms-selection。Microsoft Edge: 支持 ::-ms-selection 和 ::selection。 代码 <!DOCTYPE html> <html lang"en&qu…

Rabbitmq追问1

如果消费端代码异常&#xff0c;未手动确认&#xff0c;那么这个消息去哪里 2024-12-31 21:19:12 如果消费端代码发生异常&#xff0c;未手动确认&#xff08;ACK&#xff09;的情况下&#xff0c;消息的处理行为取决于消息队列的实现和配置&#xff0c;以下是基于 RabbitMQ …

Ansys Discovery 中的网格划分方法:探索模式

本篇博客文章将介绍 Ansys Discovery 中可用于在探索模式下进行分析的网格划分方法。我们将在下一篇博客中介绍 Refine 模式下的网格划分技术。 了解 Discovery Explore 模式下的网格划分 网格划分是将几何模型划分为小单元以模拟系统在不同条件下的行为的过程。这是通过创建…

Golang的并发编程实战经验

## Golang的并发编程实战经验 并发编程是什么 并发编程是指程序的多个部分可以同时执行&#xff0c;这样可以提高程序的性能和效率。在Golang中&#xff0c;并发编程是通过goroutine来实现的&#xff0c;goroutine是一种轻量级线程&#xff0c;可以在一个程序中同时运行成千上万…

vue2实现excel文件预览

一、插件 通过xlsx插件解析excel数据&#xff0c;对解析后的html组件进行渲染展示。 npm install xlsx 二、完整代码 <template><!-- excel文件预览 --><divelement-loading-text"拼命加载中"element-loading-spinner"el-icon-loading"…

低代码引擎插件开发:开启开发的便捷与创新之路

OneCode授权演示 一、低代码引擎与插件开发的概述 在当今快节奏的软件开发领域&#xff0c;低代码引擎正逐渐崭露头角。低代码引擎旨在让开发人员能够以最少的代码量创建功能丰富的应用程序&#xff0c;而其中的关键组成部分便是插件开发。低代码引擎通过提供可视化的开发环境…

Golang的代码质量分析工具

Golang的代码质量分析工具 一、介绍 作为一种高效、简洁、可靠的编程语言&#xff0c;被越来越多的开发者所喜爱和采用。而随着项目规模的增长和团队人员的扩大&#xff0c;代码质量的管理变得尤为重要。为了保障代码的可维护性、健壮性和可扩展性&#xff0c;我们需要借助代码…

JVM实战—9.线上FGC的几种案例

大纲 1.如何优化每秒十万QPS的社交APP的JVM性能(增加S区大小 优化内存碎片) 2.如何对垂直电商APP后台系统的FGC进行深度优化(定制JVM参数模版) 3.不合理设置JVM参数可能导致频繁FGC(优化反射的软引用被每次YGC回收) 4.线上系统每天数十次FGC导致频繁卡顿的优化(大对象问题…

蓝耘平台使用InstantMesh‌生成高质量的三维网格模型!3D内容创作!小白入门必看!!!

目录 引言 InstantMesh应用介绍 蓝耘平台与InstantMesh结合使用 如何部署&#xff08;超简单&#xff09; 第一步登录蓝耘平台 第二步点击应用商城 ​编辑 第三步选择InstantMesh 第四步点击部署 第五步点击快速启动应用 第六步即可体验该产品 总结 注册链接 引言…

LeetCode:106.从中序与后序遍历序列构造二叉树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;106.从中序与后序遍历序列构造二叉树 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder …

aardio —— 虚表 —— 模拟属性框

写了个简单的属性框例程&#xff0c;抛砖引玉&#xff0c;期待你做出更丰富强大的功能。 可折叠行、可输入文本、可下拉选择、支持下拉选择图片、颜色等功能。 只有想不到&#xff0c;没有做不到&#xff0c;发挥你的想象力吧。 import win.ui; import godking.comboboxEx im…