콘텐츠로 이동

실험적 원시 환경 변수 값

타입: boolean
기본값: false

추가된 버전: astro@5.12.0 새로운 기능

Astro를 사용하면 환경 변수에 대한 타입 안전 스키마를 구성할 수 있으며, astro:env를 통해 가져온 변수를 예상 타입으로 변환할 수 있습니다.

그러나 Astro는 경우에 따라 import.meta.env를 통해 사용되는 환경 변수도 변환하므로 문자열 "true" (부울 값으로 변환) 및 "1" (숫자로 변환)과 같은 일부 값에 액세스하지 못할 수도 있습니다.

experimental.rawEnvValues 플래그를 사용하면 process.env에서 채워지는 import.meta.env 값의 강제 변환을 비활성화하여 원시 값을 사용할 수 있습니다.

Astro가 import.meta.env를 통해 사용되는 값을 강제로 변환하지 못하게 하려면 Astro 구성에서 experimental.rawEnvValues 플래그를 true로 설정하세요.

astro.config.mjs
import { defineConfig } from "astro/config"
export default defineConfig({
experimental: {
rawEnvValues: true,
}
})

이 실험적 플래그를 활성화하면 더 이상 문자열 값을 부울이나 숫자로 변환하지 않습니다. 이렇게 하면 Astro에서 import.meta.env의 동작이 Vite와 일치하게 됩니다.

향후 주요 버전에서 Astro가 기본적으로 import.meta.env 값을 강제로 변환하지 않도록 전환할 예정이지만, experimental.rawEnvValues 플래그를 사용하여 향후 동작을 미리 선택하고 필요한 경우 그에 따라 프로젝트를 업데이트할 수 있습니다.

이 강제 변환에 의존하고 있다면 프로젝트 코드를 업데이트하여 수동으로 적용해야 할 수도 있습니다.

src/components/MyComponent.astro
const enabled: boolean = import.meta.env.ENABLED
const enabled: boolean = import.meta.env.ENABLED === "true"

Astro에서 강제 변환이 필요한 경우 astro:env를 사용하는 것이 좋습니다.

기여하기 커뮤니티 후원하기