페이지 4: Express.js API Vercel 배포 (Serverless)

4. Express.js API Vercel 배포 (Serverless)

Vercel은 Express.js 애플리케이션을 서버리스 함수로 배포할 수 있습니다. 이를 위해서는 프로젝트 루트에 vercel.json 구성 파일이 필요합니다.

4.1. vercel.json 생성

모노레포의 루트(예: my-fullstack-app/vercel.json)에 vercel.json 파일을 생성하여 Vercel이 API 라우트를 처리하는 방법을 알려줍니다.

// vercel.json
{
  "rewrites": [
    {
      "source": "/api/(.*)",
      "destination": "/api/"
    }
  ],
  "functions": {
    "api/index.js": {
      "runtime": "node tolerant",
      "memory": 1024,
      "maxDuration": 10
    }
  }
}

설명:

4.2. 올바른 종속성 확인

Vercel은 Next.js 앱과 api/ 디렉토리 모두에 대한 종속성을 설치합니다. 각 package.json이 종속성을 올바르게 나열하는지 확인하세요.

예를 들어, expresscorsapi/package.jsondependencies에 있어야 합니다.

4.3. 배포 및 테스트

변경 사항을 Git 저장소에 푸시합니다. Vercel은 vercel.json 파일을 감지하고 Express.js API를 Next.js 앱과 함께 서버리스 함수로 배포합니다.

배포 후에는 https://your-vercel-domain.vercel.app/api/hello에서 API에 액세스할 수 있을 것입니다.