Skip to content

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