Nuxt3 中文课程 《实战全栈开发简书》.

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路由将可用。

本地模块按字母顺序注册。你可以通过在每个目录名称前面添加一个数字来改变顺序:

目录结构
modules/
  1.first-module/
    index.ts
  2.second-module.ts
Read more in Docs > Guide > Going Further > Modules.