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

模块按以下顺序执行:

  • 首先,加载在 nuxt.config.ts 中定义的模块。
  • 然后,执行在 modules/ 目录中找到的模块,它们按字母顺序加载。

您可以通过在每个目录名前添加数字来更改本地模块的顺序:

目录结构
modules/
  1.first-module/
    index.ts
  2.second-module.ts
Read more in Docs > Guide > Going Further > Modules.
观看 Vue School 关于 Nuxt 私有模块的视频教程。