Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 13 additions & 26 deletions src/content/docs/ko/reference/legacy-flags.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,48 +3,35 @@ title: 레거시 플래그
i18nReady: true
---

import Since from '~/components/Since.astro'

일부 사용자들의 Astro 버전 간 마이그레이션을 돕기 위해, 때때로 우리는 `legacy` 플래그를 도입합니다.

이러한 플래그를 통해 최신 버전의 Astro에서 더 이상 사용되지 않거나 구식이 된 동작을 선택적으로 사용할 수 있으며, 프로젝트 코드를 완전히 업데이트할 수 있을 때까지 새로운 Astro 릴리스의 이점을 계속해서 활용할 수 있습니다.

import Since from '~/components/Since.astro'

## Collections
## `collectionsBackwardsCompat`

<p>

**타입:** `boolean`<br />
**기본값:** `false`<br />
<Since v="5.0.0" />
<Since v="6.0.0" />
</p>

콘텐츠 컬렉션에 대한 레거시 동작 활성화 (Astro v2부터 v4까지 사용됨)
`legacy.collectionsBackwardsCompat` 플래그는 v5.0에서 도입된 콘텐츠 레이어 API로 마이그레이션할 수 없는 프로젝트를 위해 일시적인 하위 호환성을 제공합니다.

```js
// astro.config.mjs
import { defineConfig } from 'astro/config';
```js title="astro.config.mjs"
export default defineConfig({
legacy: {
collections: true
}
collectionsBackwardsCompat: true,
},
});
```

활성화되면, `data`와 `content` 컬렉션(만)이 레거시 콘텐츠 컬렉션 구현을 사용하여 처리됩니다. 대신 `loader`가 있는 컬렉션(만)은 계속해서 콘텐츠 레이어 API를 사용합니다. 두 종류의 컬렉션은 각각의 구현을 사용하여 동일한 프로젝트에 존재할 수 있습니다.

다음과 같은 제한 사항이 계속 존재합니다:
이 플래그는 몇 가지 레거시 v4 콘텐츠 컬렉션 기능을 유지합니다:

- 모든 레거시(`type: 'content'` 또는 `type: 'data'`) 컬렉션은 계속 `src/content/` 디렉터리에 위치해야 합니다.
- 이러한 레거시 컬렉션은 암시적으로 `glob()` 로더를 사용하도록 변환되지 않으며, 대신 레거시 코드에 의해 처리됩니다.
- 콘텐츠 레이어 API를 사용하는 컬렉션(`loader`가 정의된)은 `src/content/`에서는 금지되지만, 프로젝트의 다른 곳 어디에서나 존재할 수 있습니다.
- 로더 없이 `type: 'content'` `type: 'data'`를 지원합니다.
- 레거시 엔트리 API(`entry.slug` 및 `entry.render()`)를 유지합니다.
- 슬러그 기반 ID 대신 경로 기반 엔트리 ID를 사용합니다.

이 플래그를 제거하고 레거시 컬렉션을 새로운 콘텐츠 레이어 API로 마이그레이션할 준비가 되면, `src/content/`에서 컬렉션으로 계속 사용하고자 하는 모든 디렉터리에 대해 컬렉션을 정의해야 합니다. 빈 컬렉션을 선언하는 것만으로도 충분하며, Astro는 레거시 컬렉션에 대한 적절한 정의를 암시적으로 생성할 것입니다.

```js
// src/content/config.ts
import { defineCollection } from 'astro:content';

const blog = defineCollection({ })

export const collections = { blog };
```
이 플래그는 일시적인 마이그레이션 도우미입니다. 컬렉션을 콘텐츠 레이어 API로 마이그레이션한 후 이 플래그를 비활성화하세요.
Loading