目录
自定义 Nitro 查找源文件和写入构建输出的位置。
Note
本页所有示例都假设已在 nitro.config.ts 中导入以下内容:
import { defineConfig } from "nitro";#workspaceDir
项目工作区根目录。
未设置 workspaceDir 选项时,会自动检测工作区目录(例如 pnpm 工作区)。
export default defineConfig({
workspaceDir: "../", // monorepo root
});#rootDir
项目主目录。
export default defineConfig({
rootDir: "./src/server",
});#serverDir
- 类型:
boolean|"./"|"./server"|string - 默认值:
false
用于扫描 api/、routes/、plugins/、utils/、middleware/、modules/ 和 tasks/ 目录的服务器目录。
设为 false 时会禁用自动目录扫描。设为 "./" 可使用根目录,设为 "./server" 则使用 server/ 子目录。
export default defineConfig({
serverDir: "./server", // scan server/ subdirectory
});#scanDirs
- 默认值:
[](为空时会扫描服务器源目录)
要扫描并自动注册文件(例如 API 路由)的目录列表。
export default defineConfig({
scanDirs: ["./modules/auth/api", "./modules/billing/api"],
});#apiDir
- 默认值:
"api"
指定用于扫描 API 路由处理器的其他目录。
export default defineConfig({
apiDir: "endpoints", // scan endpoints/ instead of api/
});#routesDir
- 默认值:
"routes"
指定用于扫描路由处理器的其他目录。
export default defineConfig({
routesDir: "pages", // scan pages/ instead of routes/
});#buildDir
- 默认值:
"node_modules/.nitro"
Nitro 生成构建相关文件时使用的临时工作目录。
export default defineConfig({
buildDir: ".nitro", // use .nitro/ in project root
});#output
- 默认值:
{ dir: '.output', serverDir: '.output/server', publicDir: '.output/public' }
生产构建产物的输出目录。
export default defineConfig({
output: {
dir: "dist",
serverDir: "dist/server",
publicDir: "dist/public",
},
});#ignore
- 默认值:
[]
扫描目录时要忽略的 glob 模式数组。
export default defineConfig({
ignore: [
"routes/_legacy/**", // skip legacy route handlers
],
});测试文件(*.test.ts、*.spec.ts)和类型声明(*.d.ts)始终会被忽略。
#scanSuffixes
- 默认值:
[]
要保留在已扫描文件名中的额外点分后缀。Nitro 会将已扫描文件名末尾的小写后缀(例如 .get 或 .dev)作为保留后缀。已知文件扩展名(例如 .json、.md、.xml)始终会保留。参见保留后缀。
export default defineConfig({
scanSuffixes: ["prompt"], // routes/system.prompt.ts -> /system.prompt
});