인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ram님의 프로필 이미지

작성한 질문수

[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터

Nuxt Configuration

nuxt 빌드 환경 질문드립니다!

작성

·

123

0

안녕하세요, 짐코딩님!

항상 좋은 강의 제공해 주셔서 감사합니다. 덕분에 많은 도움을 받고 있습니다! 😊

 

Nuxt 3를 빌드할 때 기본적으로 production 모드로 진행되는 것으로 알고 있는데요.
이를 local, dev, prod 등의 환경 기준으로 변경하려면 어떤 방식으로 설정하면 좋을까요?


감사합니다! 🙏

답변 2

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

Nuxt 3에서 환경별 설정을 위한 단계별 가이드를 알려드리겠습니다.

1. 프로젝트 루트 디렉토리에 각 환경별 .env 파일을 생성합니다:

# .env.local
NUXT_PUBLIC_API_URL=http://localhost:3000
NUXT_APP_ENV=local

# .env.development
NUXT_PUBLIC_API_URL=https://dev-api.example.com
NUXT_APP_ENV=development

# .env.production
NUXT_PUBLIC_API_URL=https://api.example.com
NUXT_APP_ENV=production

 

2. package.json에 환경별 스크립트를 추가합니다:

{
  "scripts": {
    "build:local": "NODE_ENV=local nuxt build",
    "build:dev": "NODE_ENV=development nuxt build",
    "build:prod": "NODE_ENV=production nuxt build"
  }
}

 

3. 이제 원하는 환경으로 빌드할 수 있습니다:

# 로컬 환경 빌드
npm run build:local

# 개발 환경 빌드
npm run build:dev

# 운영 환경 빌드
npm run build:prod

 

이렇게 설정하면 npm run build:prod 와 같이 실행할 때마다 해당 환경의 .env 파일을 읽어서 그에 맞는 환경 설정으로 빌드가 진행됩니다.

ram님의 프로필 이미지
ram
질문자

안녕하세요. 답변 주신대로 env 파일 설정하고 build를 진행해 보았습니다!
아래와 같이 production으로 빌드가 진행되는데 혹시 제가 세팅을 잘못해서 나는 현상일까요?

image.png


짐코딩님의 프로필 이미지
짐코딩
지식공유자

죄송합니다. 스크립트를 아래와 같이 해보시겠어요~?

  • npx nuxi dev --dotenv .env.development - 개발 환경 변수(.env.development)를 사용하여 개발 서버를 시작합니다.

  • npx nuxi build --dotenv .env.development - 개발 환경 변수(.env.development)를 사용하여 프로덕션용 빌드를 생성합니다.

  • npx nuxi dev --dotenv .env.staging - 스테이징 환경 변수(.env.staging)를 사용하여 개발 서버를 시작합니다.

     

  • npx nuxi dev --dotenv .env.staging - 스테이징 환경 변수(.env.staging)를 사용하여 프로덕션용 빌드를 생성합니다.

     

 

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

ram님께서 Nuxt 3 빌드 시 환경 설정에 대해 궁금하신 점 잘 이해했습니다. Nuxt 3에서는 다양한 환경(local, development, production 등)에 따라 설정을 다르게 할 수 있는데, 주로 .env 파일을 활용하여 환경별로 변수를 관리하고, nuxt.config.ts 파일에서 이러한 환경 변수를 불러오는 방식으로 설정합니다.

이를 위해, 일반적으로 다음과 같은 절차를 사용합니다:

  1. .env 파일 생성: 프로젝트 루트에 환경별로 .env.development, .env.production 등 파일을 만듭니다. 각 파일에 해당 환경에서 사용할 변수를 정의합니다.

  2. nuxt.config.ts 설정: Nuxt 3의 nuxt.config.ts 파일에서 process.env.NODE_ENV를 사용하여 현재 환경을 결정하여 다르게 설정합니다.

  3. npm 스크립트 수정: package.json의 스크립트 섹션에서 NODE_ENV를 설정하여 원하는 환경에 맞춰 빌드 및 실행하도록 스크립트를 작성합니다. 예를 들어:

    "scripts": {
     "dev": "NODE_ENV=development nuxt",
     "build:prod": "NODE_ENV=production nuxt build",
     "start": "NODE_ENV=production nuxt start"
    }
    

이 방법을 통해 각 단계의 환경별로 설정 및 변수를 적용할 수 있습니다. 이러한 방식은 다양한 환경에서 프로젝트를 일관되게 관리하는 데 유용합니다.

제가 설명드린 내용과 관련된 Nuxt 페이지의 환경 변수 문서도 참조하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ram님의 프로필 이미지

작성한 질문수

질문하기