layers/ 目录允许您在 Nuxt 应用程序中组织和共享可重用的代码、组件、组合函数(composables)和配置。项目中 layers/ 目录下的任何层都将被自动注册。
layers/ 目录的自动注册在 Nuxt v3.12.0+ 中可用。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.config.ts - 层特定的配置,将与主配置合并app.config.ts - 响应式应用程序配置app/components/ - Vue 组件(自动导入)app/composables/ - Vue 组合函数(自动导入)app/utils/ - 实用工具函数(自动导入)app/pages/ - 应用程序页面app/layouts/ - 应用程序布局app/middleware/ - 路由中间件app/plugins/ - Nuxt 插件server/ - 服务器路由、中间件和工具shared/ - 应用和服务器之间的共享代码当多个层定义相同的资源(组件、组合函数、页面等)时,具有更高优先级的层获胜。层按字母顺序排序,后面的字母优先级更高 (Z > A)。
要控制顺序,请使用数字作为目录前缀:1.base/, 2.features/, 3.admin/。