Files
jiang13-bbs/frontend/next.config.ts

45 lines
1.3 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { NextConfig } from "next";
// 后端地址:开发可兜底 localhost:3001;生产构建必须显式 BACKEND_URL(禁止静默烤进 localhost)
const isProd = process.env.NODE_ENV === "production";
const API_TARGET =
process.env.BACKEND_URL ||
process.env.NEXT_PUBLIC_API_URL ||
(isProd ? "" : "http://localhost:3001");
if (!API_TARGET) {
throw new Error(
"生产构建必须设置 BACKEND_URL(例如 Docker 内 http://api:3001),禁止回落 localhost"
);
}
const nextConfig: NextConfig = {
// 官方 Docker 运行时:最小产物,不含完整 node_modules。next dev 忽略此项。
output: "standalone",
images: {
minimumCacheTTL: 14400, // 4 小时
remotePatterns: [
{ protocol: "http", hostname: "localhost" },
],
},
experimental: {
// rewrite/proxy 默认只缓冲 10MB;附件上限由 Go 站点设置决定,此处留足余量(含 multipart 开销)
proxyClientMaxBodySize: "512mb",
},
async rewrites() {
return [
{
source: "/api/:path*",
destination: `${API_TARGET}/api/:path*`,
},
// 用户上传文件(头像等,全部 WebP)
{
source: "/uploads/:path*",
destination: `${API_TARGET}/uploads/:path*`,
},
];
},
};
export default nextConfig;