modules(了解)
使用 modules/
目录在应用程序中自动注册本地模块。
在构建应用程序时,将任何开发的本地模块放在这里是一个很好的选择。
自动注册的文件模式包括:
modules/_/index.ts
modules/_.ts
你不需要单独将这些本地模块添加到你的 nuxt.config.ts 中。
使用
- modules/hello/index.ts
js
// `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"),
});
},
});
- modules/hello/runtime/api-route.ts
js
export default defineEventHandler(() => {
return { hello: "world" };
});
当启动 Nuxt
时,hello
模块将被注册,并且/api/hello
路由将可用。
本地模块按字母顺序注册。你可以通过在每个目录名称前面添加一个数字来改变顺序:
bash
modules/
1.first-module/
index.ts
2.second-module.ts