ERP-node/frontend/next.config.mjs

54 lines
1.3 KiB
JavaScript

/** @type {import('next').NextConfig} */
const nextConfig = {
// Docker 빌드 최적화
output: "standalone",
// ESLint 빌드 시 무시 (프로덕션 빌드 성공을 위해)
eslint: {
ignoreDuringBuilds: true,
},
// TypeScript 오류도 무시 (필요한 경우)
typescript: {
ignoreBuildErrors: true,
},
// 실험적 기능 활성화
experimental: {
outputFileTracingRoot: undefined,
},
// API 프록시 설정 - 백엔드로 요청 전달
async rewrites() {
return [
{
source: "/api/:path*",
destination: "http://host.docker.internal: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" },
],
},
];
},
// 환경 변수 (런타임에 읽기)
env: {
// 환경변수가 있으면 사용, 없으면 개발환경에서는 프록시 사용
NEXT_PUBLIC_API_URL:
process.env.NEXT_PUBLIC_API_URL || (process.env.NODE_ENV === "production" ? "http://localhost:8080/api" : "/api"),
},
};
export default nextConfig;