modules
使用 modules/ 目录来自动注册应用程序中的本地模块。
这是放置在构建应用过程中开发的任何本地模块的好地方。
自动注册的文件模式包括:
modules/*/index.ts
modules/*.ts
您无需将这些本地模块单独添加到您的 nuxt.config.ts
中。
// `nuxt/kit` 是一个辅助子路径导入,您可以在定义本地模块时使用,
// 这意味着您不需要将 `@nuxt/kit` 添加到项目的依赖项中
import { createResolver, defineNuxtModule, addServerHandler } from 'nuxt/kit'
export default defineNuxtModule({
meta: {
name: 'hello'
},
setup () {
const { resolve } = createResolver(import.meta.url)
// 添加一个 API 路由
addServerHandler({
route: '/api/hello',
handler: resolve('./runtime/api-route')
})
}
})
当启动 Nuxt 时,hello
模块将被注册,且 /api/hello
路由将可用。
模块按以下顺序执行:
- 首先,加载在
nuxt.config.ts
中定义的模块。 - 然后,执行在
modules/
目录中找到的模块,它们按字母顺序加载。
您可以通过在每个目录名前添加数字来更改本地模块的顺序:
目录结构
modules/
1.first-module/
index.ts
2.second-module.ts