컨텐츠로 건너뛰기

실험적인 직렬화된 구성

타입: boolean
기본값: false

Added in: astro@5.2.0

이 기능을 사용하면 두 개의 하위 모듈을 통해 포괄적이지 않고 직렬화 가능하며 타입 안정성을 갖춘 버전의 Astro 구성을 노출하는 astro:config 가상 모듈에 액세스할 수 있습니다.

전체 개요를 보거나 이 실험적인 API에 대한 피드백을 제공하려면 Serialized Manifest RFC를 참조하세요.

이 가상 모듈을 활성화하려면 Astro 구성에 experimental.serializeConfig 기능 플래그를 추가하세요:

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

그러면 구성 값을 Astro 프로젝트의 모든 파일에서 사용할 수 있습니다:

src/utils.js
import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) {
if (trailingSlash === "always") {
return path.endsWith("/") ? path : path + "/"
} else {
return path
}
}

가상 모듈은 구성 값의 서로 다른 하위 집합에 액세스할 수 있는 두 개의 하위 모듈을 노출합니다. 이렇게 하면 클라이언트에서 일부 데이터만 사용할 수 있도록 하여 정보를 보호할 수 있습니다.

사용 가능한 모든 구성 값은 astro:config/server에서 액세스할 수 있습니다. 그러나 클라이언트에서 실행되는 코드의 경우 astro:config/client에 노출된 값만 사용할 수 있습니다.

클라이언트 하위 모듈을 사용하면 trailingSlash, build.format, i18n 등과 같이 브라우저에 노출해도 안전한 astro:config/server 구성 값의 하위 집합에 액세스할 수 있습니다. 클라이언트에서 실행되는 클라이언트 측 코드에 이 하위 모듈을 사용하세요.

이 기능은 개발 중입니다. astro:config/client에서 사용할 수 있는 구성 값의 전체 최신 목록은 기능 RFC에서 제안된 API를 참조하세요.

서버 하위 모듈을 사용하면 astro.config.mjs에서 전체가 아닌 구성 값 집합에 액세스할 수 있습니다. 여기에는 trailingSlash, i18n과 같은 astro:config/client 값 뿐만 아니라 srcDir, cacheDir, outDir과 같이 클라이언트에 노출하기에는 안전하지 않은 파일 시스템 구성에 대한 보다 민감한 정보도 포함됩니다. 클라이언트에서 이를 사용하려고 하면 오류가 발생합니다.

이 기능은 개발 중입니다. astro:config/server에서 사용할 수 있는 구성 값의 전체 최신 목록은 기능 RFC에서 제안된 API를 참조하세요.

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