.env
.env 파일은 빌드/개발 시 환경 변수를 지정합니다.
이 파일은 비밀 정보가 저장소에 푸시되지 않도록 .gitignore
파일에 추가해야 합니다.
개발, 빌드 및 생성 시간
Nuxt CLI는 개발 모드와 nuxt build
및 nuxt generate
를 실행할 때 내장된 dotenv 지원을 제공합니다.
프로세스 환경 변수 외에도, 프로젝트 루트 디렉토리에 .env
파일이 있는 경우 개발, 빌드 및 생성 시간에 자동으로 로드됩니다. 거기에 설정된 모든 환경 변수는 nuxt.config
파일과 모듈 내에서 접근할 수 있습니다.
MY_ENV_VARIABLE=hello
.env
에서 변수를 제거하거나 .env
파일을 완전히 제거해도 이미 설정된 값은 해제되지 않습니다.
사용자 정의 파일
다른 파일을 사용하고 싶다면 - 예를 들어, .env.local
또는 .env.production
을 사용하려면 Nuxt CLI를 사용할 때 --dotenv
플래그를 전달하여 사용할 수 있습니다.
npx nuxt dev --dotenv .env.local
개발 모드에서 .env
를 업데이트할 때, Nuxt 인스턴스는 새로운 값을 process.env
에 적용하기 위해 자동으로 재시작됩니다.
애플리케이션 코드에서는 일반 환경 변수가 아닌 Runtime Config를 사용해야 합니다.
프로덕션
서버가 빌드된 후, 서버를 실행할 때 환경 변수를 설정하는 것은 사용자의 책임입니다.
이 시점에서는 .env
파일이 읽히지 않습니다. 이를 수행하는 방법은 각 환경마다 다릅니다.
이 설계 결정은 전통적인 파일 시스템이 없는 서버리스 플랫폼이나 Cloudflare Workers와 같은 엣지 네트워크와 같은 다양한 배포 환경과의 호환성을 보장하기 위해 이루어졌습니다.
프로덕션에서는 .env
파일이 사용되지 않으므로, 호스팅 환경에서 제공하는 도구와 방법을 사용하여 환경 변수를 명시적으로 설정해야 합니다. 일반적인 접근 방식은 다음과 같습니다:
-
터미널을 사용하여 인수로 환경 변수를 전달할 수 있습니다:
$ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
-
.bashrc
또는.profile
과 같은 셸 구성 파일에 환경 변수를 설정할 수 있습니다. -
Vercel, Netlify, AWS와 같은 많은 클라우드 서비스 제공업체는 대시보드, CLI 도구 또는 구성 파일을 통해 환경 변수를 설정할 수 있는 인터페이스를 제공합니다.
프로덕션 미리보기
로컬 프로덕션 미리보기 목적을 위해, nuxt preview
를 사용하는 것을 권장합니다. 이 명령을 사용하면 .env
파일이 process.env
에 로드되어 편리합니다. 이 명령은 패키지 디렉토리에 종속성이 설치되어 있어야 합니다.
또는 터미널을 사용하여 인수로 환경 변수를 전달할 수 있습니다. 예를 들어, Linux 또는 macOS에서:
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
순수 정적 사이트의 경우, 프로젝트가 사전 렌더링된 후 런타임 구성 설정을 할 수 없습니다.
이것도 참고 guide > going-further > runtime-config빌드 시 설정된 환경 변수를 사용하고 싶지만 나중에 이를 업데이트하는 것에 신경 쓰지 않거나 (또는 앱 내에서만 반응적으로 업데이트해야 하는 경우) appConfig
가 더 나은 선택일 수 있습니다. appConfig
는 nuxt.config
내에서 (환경 변수를 사용하여) 정의할 수 있으며, 프로젝트 내의 ~/app.config.ts
파일에서도 정의할 수 있습니다.
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/guide/directory-structure/env