0Pricing
Vue Academy · 课时

可扩展的文件夹结构

合理组织大型 Vue 项目,便于维护

可扩展的文件夹结构 是 CoddyKit 上的免费 Vue Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Vue Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Vue Academy 课程共包含 3 节课。

结构很重要

当 Vue 应用不再只有几个文件时,您如何组织它将决定项目是否易于浏览、维护以及帮助新开发者上手。良好的结构可以扩展;混乱的结构则会拖慢所有人的进度。

按类型组织

按类型组织的方法会根据文件的类型进行分组:所有 component 放在一起,所有视图放在一起,所有状态存储放在一起。这种方法简单明了,非常适合小型到中型应用。

src/
  components/
  views/
  stores/
  composables/
  router/

按功能组织

按功能组织的方法会根据文件所属的功能进行分组。认证功能的所有内容都放在同一个文件夹中,因此大型应用更容易理解和维护。

src/
  features/
    auth/
      LoginView.vue
      useAuth.js
      authStore.js
    cart/
      CartView.vue
      cartStore.js

选择组织方式

对于较小的应用,按类型组织非常合适。随着应用不断增长、功能越来越多,按功能组织可以让相关代码集中在一起,减少在不同文件夹之间来回查找。许多团队会先按类型组织,再随着规模扩大逐步迁移。

分离视图与 component

请区分视图(页面级、由路由控制的 component)与component(可复用的构建块)。这种分离方式可以清楚地表明哪些部分可以通过路由访问,哪些部分可以共享。

views/      // routed pages: HomeView.vue, AboutView.vue
components/ // reusable: BaseButton.vue, UserCard.vue

组织可组合函数

请将可复用的组合式 API 逻辑放在 composables 文件夹中。使用 use 前缀命名,可以让人一眼看出它们的用途。

composables/
  useAuth.js
  useFetch.js
  useLocalStorage.js

组织状态存储

请将全局状态存储放在 stores 文件夹中,并为每个领域使用一个文件。这样可以更容易找到状态管理代码,也能保持模块化。

stores/
  user.js
  cart.js
  settings.js

命名约定

保持一致可以减少协作摩擦。请使用 PascalCase 命名 component 文件,为基础 component 添加 Base 前缀,并使用多词名称,以免与 HTML 元素冲突。

// components
BaseButton.vue
BaseInput.vue
UserProfileCard.vue

// composables
useAuth.js

集中导出

集中导出是一个 index.js,它会重新导出文件夹中的内容,让使用方可以从一个路径导入,而不必从多个路径分别导入。

// composables/index.js
export { useAuth } from "./useAuth"
export { useFetch } from "./useFetch"

从集中导出文件导入

有了集中导出文件,多个导入语句就可以合并为一行简洁的代码,从而提高可读性。

import { useAuth, useFetch } from "@/composables"

保持一致

无论您选择哪种结构,都请始终如一地应用它,并将其记录在项目的 README 中。最好的结构是整个团队都理解并遵循的结构。随着应用增长,再逐步重构为按功能组织。

快速检查

检验您对文件夹结构的掌握情况。

回顾

较小的应用按类型组织,应用扩展后则按功能组织。请将由路由控制的视图与可复用的component分开,将可组合函数和状态存储放在各自的文件夹中,遵循一致的命名方式,并使用集中导出来实现整洁的导入。真正让结构具备可扩展性的,是面向团队记录并贯彻一致的规范。

常见问题解答

「可扩展的文件夹结构」课时是免费的吗?

是的 — 「可扩展的文件夹结构」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Vue Academy 课程的其余内容,请升级到 CoddyKit PRO。 Vue Academy 课程共包含 3 节课。

「可扩展的文件夹结构」这节课中我会学到什么?

合理组织大型 Vue 项目,便于维护 你通过在浏览器中直接运行的动手代码来练习 Vue Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Vue Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Vue Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。

「可扩展的文件夹结构」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Vue Academy 课中编写并运行代码吗?

能。每节 Vue Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 混入与自定义指令
  2. 插件开发
  3. 可扩展的文件夹结构
← 返回 Vue Academy