layers

使用 layers/ 目录来组织和自动注册应用程序中的本地层(local layers)。

layers/ 目录允许您在 Nuxt 应用程序中组织和共享可重用的代码、组件、组合函数(composables)和配置。项目中 layers/ 目录下的任何层都将被自动注册。

layers/ 目录的自动注册在 Nuxt v3.12.0+ 中可用。
层是组织大型代码库的理想选择,适用于领域驱动设计 (DDD)、创建可重用的UI 库主题、在项目间共享配置预设,以及分离关注点,如管理面板功能模块

结构

layers/ 中的每个子目录都被视为一个单独的层。一个层可以包含与标准 Nuxt 应用程序相同的结构。

每个层必须有一个 nuxt.config.ts 文件才能被识别为有效的层,即使它是空的。
目录结构
-| layers/
---| base/
-----| nuxt.config.ts
-----| app/
-------| components/
---------| BaseButton.vue
-------| composables/
---------| useBase.ts
-----| server/
-------| api/
---------| hello.ts
---| admin/
-----| nuxt.config.ts
-----| app/
-------| pages/
---------| admin.vue
-------| layouts/
---------| admin.vue

自动别名

会自动为每个层的 srcDir 创建命名的层别名。您可以使用 #layers/[name] 别名来访问一个层。

// Access the base layer
import something from '#layers/base/path/to/file'

// Access the admin layer
import { useAdmin } from '#layers/admin/composables/useAdmin'
命名的层别名是在 Nuxt v3.16.0 中引入的。

层内容

每层可以包含

优先级顺序

当多个层定义相同的资源(组件、组合函数、页面等)时,具有更高优先级的层获胜。层按字母顺序排序,后面的字母优先级更高 (Z > A)。

要控制顺序,请使用数字作为目录前缀:1.base/, 2.features/, 3.admin/

阅读更多内容:文档 > 4 X > 入门 > 层#层优先级