In den nächsten 13 Tagen generiert der Ordner „app/api“ während des Erstellungsprozesses einen Fehler, wenn nextConfig.output „export“ lautet.
In meinem Projekt benötige ich verschiedene Build-Typen basierend auf Umgebungsvariablen.
Gibt es eine Möglichkeit, den Ordner „api“ während des Erstellungsprozesses zu ignorieren, wenn „Ausgabe“ auf „Export“ gesetzt ist?
Wenn ich den Build mit nextConfig.output als „Export“ ausführe, erhalte ich die folgende Fehlermeldung:
Beim Export ist im folgenden Pfad ein Fehler aufgetreten: /api/revalidate/route: /api/revalidate
import { NextRequest, NextResponse } from 'next/server'; import { revalidateTag } from 'next/cache'; export async function GET(request: NextRequest) { const tag = request.nextUrl.searchParams.get('tag'); if(tag){ revalidateTag(tag); } return NextResponse.json({ revalidated: true, now: Date.now() }); }
/** @type {import('next').NextConfig} */ const nextConfig = { output: process.env.NEXT_OUTPUT_MODE, }; module.exports = nextConfig;
Hier ist das Repository, um diesen Fehler zu reproduzieren https://github.com/zeckaissue/next-export-api-crash
您可以在 Next.js 配置文件 (next.config.js) 中使用忽略选项。 如果您还没有创建一个配置文件,则必须创建一个配置文件。 打开next.config.js文件并添加以下代码:
我找到了 ignore-loader 的解决方法。但也许有更好的方法通过 next.js 的内置功能来实现我的目标
这是我更新的 next.config.js