modules
使用
modules/
目录来自动注册应用程序中的本地模块。它是放置你在构建应用程序时开发的任何本地模块的好地方。
自动注册的文件模式是
modules/*/index.ts
modules/*.ts
你无需将这些本地模块单独添加到你的 nuxt.config.ts
中。
// `nuxt/kit` is a helper subpath import you can use when defining local modules
// that means you do not need to add `@nuxt/kit` to your project's dependencies
import { addServerHandler, createResolver, defineNuxtModule } from 'nuxt/kit'
export default defineNuxtModule({
meta: {
name: 'hello',
},
setup () {
const resolver = createResolver(import.meta.url)
// Add an API route
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