Pendant les 13 prochains jours, le dossier app/api générera une erreur lors du processus de construction lorsque nextConfig.output est "export".
Dans mon projet, j'ai besoin de différents types de build basés sur des variables d'environnement.
Existe-t-il un moyen d'ignorer le dossier « api » pendant le processus de construction lorsque « sortie » est « export » ?
Lorsque j'exécute la build en utilisant nextConfig.output comme "export", j'obtiens l'erreur suivante :
L'export a rencontré une erreur sur le chemin suivant : /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;
Voici le référentiel pour reproduire cette erreur https://github.com/zeckaissue/next-export-api-crash
Vous pouvez utiliser l'option ignorer dans le fichier de configuration Next.js (next.config.js). Vous devez créer un fichier de configuration si ce n'est pas déjà fait. Ouvrez le fichier next.config.js et ajoutez le code suivant :
J'ai trouvé une solution pour ignore-loader. Mais il existe peut-être un meilleur moyen d'atteindre mon objectif via la fonctionnalité intégrée de next.js
Voici mon next.config.js mis à jour