51 lines
1.2 KiB
JavaScript
51 lines
1.2 KiB
JavaScript
/** @type {import('next').NextConfig} */
|
|
const nextConfig = {
|
|
// Docker 빌드 최적화
|
|
output: "standalone",
|
|
|
|
// ESLint 빌드 시 무시 (프로덕션 빌드 성공을 위해)
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
|
|
// TypeScript 오류도 무시 (필요한 경우)
|
|
typescript: {
|
|
ignoreBuildErrors: true,
|
|
},
|
|
|
|
// 실험적 기능 활성화
|
|
experimental: {
|
|
outputFileTracingRoot: undefined,
|
|
},
|
|
|
|
async rewrites() {
|
|
return [
|
|
{
|
|
source: "/api/:path*",
|
|
destination: "http://backend:8080/api/:path*",
|
|
},
|
|
];
|
|
},
|
|
|
|
// 개발 환경에서 CORS 처리
|
|
async headers() {
|
|
return [
|
|
{
|
|
source: "/api/:path*",
|
|
headers: [
|
|
{ key: "Access-Control-Allow-Origin", value: "*" },
|
|
{ key: "Access-Control-Allow-Methods", value: "GET,POST,PUT,DELETE,OPTIONS" },
|
|
{ key: "Access-Control-Allow-Headers", value: "Content-Type, Authorization" },
|
|
],
|
|
},
|
|
];
|
|
},
|
|
|
|
// 환경 변수 (런타임에 읽기) - 내부 IP로 통일
|
|
env: {
|
|
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL || "http://39.117.244.52:8080/api",
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|