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