diff --git a/src/content/docs/ko/reference/routing-reference.mdx b/src/content/docs/ko/reference/routing-reference.mdx index 5c08dcf8eb0c1..ad8cd5b9eb560 100644 --- a/src/content/docs/ko/reference/routing-reference.mdx +++ b/src/content/docs/ko/reference/routing-reference.mdx @@ -170,6 +170,40 @@ const { post } = Astro.props;

{id}: {post.name}

``` +### `routePattern` + +

+ +**타입:** `string`
+ +

+ +[`getStaticPaths()`](#getstaticpaths) 옵션에서 사용할 수 있는 속성으로, 현재 [`routePattern`](/ko/reference/api-reference/#routepattern)을 문자열로 접근합니다. + +이는 일반적으로 `getStaticPaths()` 범위에서는 접근할 수 없는 [Astro 렌더링 컨텍스트](/ko/reference/api-reference/)의 데이터를 제공하며, 각 페이지 라우트에 대한 `params`와 `props`를 계산하는 데 유용할 수 있습니다. + +`routePattern`은 항상 파일 경로의 원본 동적 세그먼트 정의(예: `/[...locale]/[files]/[slug]`)를 반영합니다. 반면 `params`는 페이지에 대한 명시적 값(예: `/fr/fichiers/article-1/`)이 됩니다. + +다음은 사용자 정의 `getLocalizedData()` 도우미 함수에 `routePattern`을 전달하여 라우트 세그먼트를 현지화하고 정적 경로 배열을 반환하는 방법을 보여주는 예시입니다. [params](/ko/reference/routing-reference/#params) 객체는 각 라우트 세그먼트(`locale`, `files`, `slug`)에 대한 명시적 값으로 설정됩니다. 이 값들은 라우트를 생성하는 데 사용되며 `Astro.params`를 통해 페이지 템플릿에서 활용할 수도 있습니다. + +```astro title="src/pages/[...locale]/[files]/[slug].astro" "routePattern" "getLocalizedData" +--- +import { getLocalizedData } from "../../../utils/i18n"; + +export async function getStaticPaths({ routePattern }) { + const response = await fetch('...'); + const data = await response.json(); + + console.log(routePattern); // [...locale]/[files]/[slug] + + // 사용자 정의 도우미 함수에 `routePattern`를 전달하여 호출하여 정적 경로를 생성합니다. + return data.flatMap((file) => getLocalizedData(file, routePattern)); +} + +const { locale, files, slug } = Astro.params; +--- +``` + ### `paginate()`