在接下來的 13 天內,當 nextConfig.output 為「export」時,app/api 資料夾會在建置過程中產生錯誤。
在我的專案中,我需要根據環境變數不同的建置類型。
當「output」為「export」時,有什麼方法可以在建置過程中忽略「api」資料夾嗎?
當我使用 nextConfig.output 作為「匯出」運行建置時,出現以下錯誤:
匯出在以下路徑上遇到錯誤: /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;
這裡是重現此錯誤的儲存庫 https://github.com/zeckaissue/next-export-api-crash
您可以在 Next.js 設定檔 (next.config.js) 中使用忽略選項。 如果您還沒有建立一個設定文件,則必須建立一個設定檔。 開啟next.config.js檔案並加入以下程式碼:
我找到了 ignore-loader 的解決方法。但也許有更好的方法透過 next.js 的內建功能來實現我的目標
這是我更新的 next.config.js
##