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
36 changes: 15 additions & 21 deletions src/content/docs/ko/guides/integrations-guide/netlify.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
type: integration
title: '@astrojs/netlify'
description: '@astrojs/netlify SSR 어댑터를 사용하여 Astro 프로젝트를 배포하는 방법을 알아보세요.'
description: '@astrojs/netlify 어댑터를 사용하여 Astro 프로젝트를 배포하는 방법을 알아보세요.'
sidebar:
label: Netlify
githubIntegrationURL: 'https://github.com/withastro/astro/tree/main/packages/integrations/netlify/'
Expand All @@ -11,9 +11,9 @@ i18nReady: true
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import Since from '~/components/Since.astro';

이 어댑터를 사용하면 Astro가 [온디맨드 렌더링 라우트](/ko/guides/on-demand-rendering/) [Netlify](https://www.netlify.com/)에 배포할 수 있습니다.
이 어댑터를 사용하면 Astro가 [서버 아일랜드](/ko/guides/server-islands/), [액션](/ko/guides/actions/), [세션](/ko/guides/sessions/)을 포함하여 [요청 시 렌더링되는 라우트 및 기능](/ko/guides/on-demand-rendering/) [Netlify](https://www.netlify.com/)에 배포할 수 있습니다.

Astro를 정적 사이트 빌더로 사용하는 경우 어댑터가 필요하지 않습니다.
Astro를 정적 사이트 생성기로 사용하고 있다면, 서버가 필요한 추가적인 Netlify 서비스(예: [Netlify Image CDN](#netlify-이미지-cdn-지원))를 사용하는 경우에만 이 어댑터가 필요합니다. 그렇지 않다면, 정적 사이트를 배포하는 데 어댑터는 필요하지 않습니다.

[Netlify 배포 가이드](/ko/guides/deploy/netlify/)에서 Astro 사이트를 배포하는 방법을 알아보세요.

Expand All @@ -25,7 +25,7 @@ Astro를 정적 사이트 빌더로 사용하는 경우 어댑터가 필요하

Astro에는 공식 통합 설정을 자동화하는 `astro add` 명령이 포함되어 있습니다. 원하는 경우 대신 [통합을 수동으로 설치](#수동-설치)할 수 있습니다.

`astro add` 명령을 사용하여 Astro 프로젝트에서 SSR을 활성화하려면 Netlify 어댑터를 추가하세요.
`astro add` 명령을 사용하여 Astro 프로젝트에서 요청 시 렌더링을 활성화하려면 Netlify 어댑터를 추가하세요.
그러면 `@astrojs/netlify`가 설치되고 `astro.config.mjs` 파일이 한 번에 적절하게 변경됩니다.

<PackageManagerTabs>
Expand All @@ -46,6 +46,8 @@ Astro에는 공식 통합 설정을 자동화하는 `astro add` 명령이 포함
</Fragment>
</PackageManagerTabs>

이제 [페이지별로 요청 시 렌더링](/ko/guides/on-demand-rendering/#요청-시-렌더링-활성화)을 활성화하거나, [기본적으로 모든 페이지를 서버 렌더링](/ko/guides/on-demand-rendering/#server-모드)하도록 빌드 출력 구성을 `output: 'server'`로 설정할 수 있습니다.

### 수동 설치

먼저, 선호하는 패키지 관리자를 사용하여 프로젝트 종속성에 Netlify 어댑터를 설치합니다.
Expand All @@ -68,15 +70,14 @@ Astro에는 공식 통합 설정을 자동화하는 `astro add` 명령이 포함
</Fragment>
</PackageManagerTabs>

그런 다음 어댑터와 원하는 [온디맨드 렌더링 모드](/ko/guides/on-demand-rendering/)를 `astro.config.*` 파일에 추가하세요.
그런 다음 `astro.config.*` 파일에 어댑터를 추가합니다.

```js title="astro.config.mjs" ins={2, 6-7}
```js title="astro.config.mjs" ins={2, 6}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify(),
});
```
Expand All @@ -101,13 +102,12 @@ netlify deploy

사전 렌더링된 페이지에 대한 리디렉션, 액세스 제어 또는 사용자 정의 응답 헤더를 구현하려면 [`edgeMiddleware` 옵션](/ko/reference/adapter-reference/#edgemiddleware)을 활성화하여 Netlify Edge Functions에서 미들웨어를 실행하세요.

```js title="astro.config.mjs" ins={8}
```js title="astro.config.mjs" ins={7}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify({
edgeMiddleware: true,
}),
Expand Down Expand Up @@ -155,13 +155,12 @@ declare namespace App {

Netlify의 Image CDN 원격 이미지 최적화를 선택 해제하려면 `imageCDN` 옵션을 사용하세요.

```js title="astro.config.mjs" ins={8}
```js title="astro.config.mjs" ins={7}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify({
imageCDN: false,
}),
Expand All @@ -171,13 +170,12 @@ export default defineConfig({
다른 도메인에서 호스팅되는 이미지를 사용하는 경우 [`image.domains`](/ko/reference/configuration-reference/#imagedomains) 또는 [`image.remotePatterns`](/ko/reference/configuration-reference/#imageremotepatterns) 구성 옵션을 사용하여 도메인 또는 URL 패턴을 승인해야 합니다.


```js title="astro.config.mjs" ins={8-10}
```js title="astro.config.mjs" ins={7-9}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify(),
image: {
domains: ['example.com'],
Expand Down Expand Up @@ -225,10 +223,9 @@ Netlify 어댑터를 사용하는 경우 Astro는 세션 스토리지를 위해
동적 콘텐츠가 없는 주문형 렌더링 페이지를 캐시하여 성능을 향상하고 리소스 사용량을 줄일 수 있습니다.
어댑터에서 `cacheOnDemandPages` 옵션을 활성화하면 서버에서 렌더링된 모든 페이지를 최대 1년 동안 캐시합니다.

```ts title="astro.config.mjs"
```ts title="astro.config.mjs" ins={4}
export default defineConfig({
// ...
output: 'server',
adapter: netlify({
cacheOnDemandPages: true,
}),
Expand Down Expand Up @@ -271,13 +268,12 @@ time to live (TTL) 또는 stale while revalidate (SWR) 캐싱 등의 구현에

프로젝트의 [`root`](/ko/reference/configuration-reference/#root)를 기준으로 하는 파일 경로를 사용하여 포함할 추가 파일 배열을 제공합니다. 절대 경로는 예상대로 작동하지 않을 수 있습니다.

```js title="astro.config.mjs" ins={8}
```js title="astro.config.mjs" ins={7}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify({
includeFiles: ['./my-data.json'], // `root`를 기준으로 합니다.
}),
Expand All @@ -299,13 +295,12 @@ export default defineConfig({

프로젝트의 [`root`](/ko/reference/configuration-reference/#root)를 기준으로 하는 파일 경로를 사용하여 제외할 특정 파일의 배열을 제공합니다. 절대 경로는 예상대로 작동하지 않을 수 있습니다.

```js title="astro.config.mjs" ins={8}
```js title="astro.config.mjs" ins={7}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
// ...
output: 'server',
adapter: netlify({
excludeFiles: ['./src/some_big_file.jpg'], // relative to `root`
}),
Expand All @@ -316,12 +311,11 @@ export default defineConfig({

`includeFiles`와 `excludeFiles`는 모두 여러 파일을 매치시키기 위한 [glob 패턴](/ko/guides/imports/#glob-패턴)을 지원합니다.

```js title="astro.config.mjs" ins={8, 11-12}
```js title="astro.config.mjs" ins={7, 10-11}
import { defineConfig } from 'astro/config';
import netlify from '@astrojs/netlify';

export default defineConfig({
output: 'server',
adapter: netlify({
includeFiles: [
'./data/**/*.json'
Expand Down