diff --git a/src/content/docs/ko/reference/adapter-reference.mdx b/src/content/docs/ko/reference/adapter-reference.mdx index acc4e8c687033..57a9132eb7fc8 100644 --- a/src/content/docs/ko/reference/adapter-reference.mdx +++ b/src/content/docs/ko/reference/adapter-reference.mdx @@ -254,7 +254,7 @@ export default function createIntegration() {

-**타입:** `(manifest: SSRManifest, options: any) => Record` +**타입:** (manifest: SSRManifest, options: any) => Record\

SSR 매니페스트를 첫 번째 인수로, 어댑터의 [`args`](#args)를 포함하는 객체를 두 번째 인수로 받는 내보낸 함수입니다. 이 함수는 호스트에서 요구하는 내보내기를 제공해야 합니다. @@ -314,7 +314,7 @@ export function createExports(manifest, args) {

-**타입:** `(manifest: SSRManifest, options: any) => Record` +**타입:** (manifest: SSRManifest, options: any) => Record\

SSR 매니페스트를 첫 번째 인수로 받고, 어댑터의 [`args`](#args)를 포함하는 객체를 두 번째 인수로 받는 내보낸 함수입니다. diff --git a/src/content/docs/ko/reference/integrations-reference.mdx b/src/content/docs/ko/reference/integrations-reference.mdx index d212374a84ace..f2a623b46cd2c 100644 --- a/src/content/docs/ko/reference/integrations-reference.mdx +++ b/src/content/docs/ko/reference/integrations-reference.mdx @@ -195,7 +195,7 @@ export default {

-**타입:** `(renderer:` [`AstroRenderer`](https://github.com/withastro/astro/blob/fdd607c5755034edf262e7b275732519328a33b2/packages/astro/src/%40types/astro.ts#L872-L883) `) => void;`
+**타입:** (renderer: AstroRenderer) => void;
**예:** [`svelte`](https://github.com/withastro/astro/blob/main/packages/integrations/svelte/src/index.ts), [`react`](https://github.com/withastro/astro/blob/main/packages/integrations/react/src/index.ts), [`preact`](https://github.com/withastro/astro/blob/main/packages/integrations/preact/src/index.ts), [`vue`](https://github.com/withastro/astro/blob/main/packages/integrations/vue/src/index.ts), [`solid`](https://github.com/withastro/astro/blob/main/packages/integrations/solid/src/index.ts)

@@ -216,7 +216,7 @@ export default {

-통합 기능이 Vite가 감시하지 않는 일부 구성 파일에 의존하거나 적용하기 위해 전체 개발 서버를 다시 시작해야 하는 경우 `addWatchFile`을 사용하여 해당 파일을 추가합니다. 해당 파일이 변경될 때마다 Astro 개발 서버가 다시 로드됩니다 (`isRestart`를 사용하여 다시 로드가 발생하는 시점을 확인할 수 있습니다). +통합 기능이 Vite가 감시하지 않는 일부 구성 파일에 의존하거나 적용하기 위해 전체 개발 서버를 다시 시작해야 하는 경우 `addWatchFile()`을 사용하여 해당 파일을 추가합니다. 해당 파일이 변경될 때마다 Astro 개발 서버가 다시 로드됩니다 ([`isRestart`](#isrestart-옵션)를 사용하여 다시 로드가 발생하는 시점을 확인할 수 있습니다). 사용 예시: @@ -230,7 +230,7 @@ addWatchFile(new URL('./ec.config.mjs', config.root));

-**타입:** `(directive:` [`ClientDirectiveConfig`](https://github.com/withastro/astro/blob/00327c213f74627ac9ca1dec774efa5bf71e9375/packages/astro/src/%40types/astro.ts#L1872-L1875) `) => void;`
+**타입:** (directive: ClientDirectiveConfig) => void;

@@ -353,7 +353,7 @@ export default {

-**타입:** `(middleware:` [`AstroIntegrationMiddleware`](https://github.com/withastro/astro/blob/852ac0f75dfca1b2602e9cdbfa0447d9998e2449/packages/astro/src/%40types/astro.ts#L2124-L2127) `) => void;`
+**타입:** (middleware: AstroIntegrationMiddleware) => void;

@@ -376,7 +376,7 @@ export default () => ({ }); ``` -미들웨어는 사용자 정의 미들웨어와 마찬가지로 `onRequest` 함수가 포함된 패키지에 정의됩니다. +미들웨어는 사용자 정의 미들웨어와 마찬가지로 [`onRequest()` 함수](/ko/reference/modules/astro-middleware/#onrequest) 함수가 포함된 패키지에 정의됩니다. ```js title="@my-package/middleware.js" import { defineMiddleware } from 'astro:middleware'; @@ -422,7 +422,7 @@ export default () => ({ Astro 프로젝트에 경로를 삽입하는 콜백 함수입니다. 삽입된 경로는 [`.astro` 페이지](/ko/basics/astro-pages/) 또는 [`.js` 및 `.ts` 경로 핸들러](/ko/guides/endpoints/#정적-파일-엔드포인트)일 수 있습니다. -`injectRoute`는 `pattern`과 `entrypoint`가 포함된 객체를 전달받습니다. +`injectRoute()`는 `pattern`과 `entrypoint`가 포함된 객체를 전달받습니다. - `pattern` - 브라우저에서 경로가 출력되는 위치입니다(예: `/foo/bar`). `pattern`은 `/foo/[bar]` 또는 `/foo/[...bar]`와 같이 동적 경로를 나타내기 위해 Astro의 파일 경로 구문을 사용할 수 있습니다. `pattern`에는 파일 확장자가 **필요하지 않습니다**. - `entrypoint` - `pattern`에 표시된 경로를 처리하는 `.astro` 페이지 또는 `.js`/`.ts` 경로 핸들러를 가리키는 모듈 지정자입니다. @@ -542,7 +542,7 @@ const integration = {

-**타입:** [`RouteOptions`](https://github.com/withastro/astro/blob/3b10b97a4fecd1dfd959b160a07b5b8427fe40a7/packages/astro/src/types/public/integrations.ts#L14-L27) +**타입:** `{ readonly component: string; prerender?: boolean; }`

라우트를 식별하는 `component` 속성과 생성된 라우트를 구성할 수 있도록 하는 다음 추가 값(`prerender`)을 가진 객체입니다. @@ -811,7 +811,7 @@ export default { `astro dev` 실행 중 통합 기능이 콘텐츠 레이어 업데이트를 트리거하는 함수입니다. 예를 들어, 개발 중 웹훅 엔드포인트를 등록하거나, 변경 사항을 수신하기 위해 CMS에 소켓을 열 때 사용할 수 있습니다. -기본적으로 `refreshContent`는 모든 컬렉션을 새로 고칩니다. 선택적으로 로더 이름 배열인 `loaders` 속성을 전달할 수 있습니다. 제공된 경우 해당 로더를 사용하는 컬렉션만 새로 고쳐집니다. 예를 들어, CMS 통합 기능은 이 속성을 사용하여 자체 컬렉션만 새로 고칠 수 있습니다. +기본적으로 `refreshContent()`는 모든 컬렉션을 새로 고칩니다. 선택적으로 로더 이름 배열인 `loaders` 속성을 전달할 수 있습니다. 제공된 경우 해당 로더를 사용하는 컬렉션만 새로 고쳐집니다. 예를 들어, CMS 통합 기능은 이 속성을 사용하여 자체 컬렉션만 새로 고칠 수 있습니다. 로더에 `context` 객체를 전달할 수도 있습니다. 이는 웹훅 본문이나 웹소켓의 이벤트와 같은 임의의 데이터를 전달하는 데 사용할 수 있습니다. @@ -874,10 +874,10 @@ export default {

-**타입:** [`AddressInfo`](https://microsoft.github.io/PowerBI-JavaScript/interfaces/_node_modules__types_node_net_d_._net_.addressinfo.html) +**타입:** `AddressInfo`

-[Node.js Net 모듈](https://nodejs.org/api/net.html)에서 제공하는 주소, 패밀리 및 포트 번호입니다. +[Node.js Net 모듈의 `server.address()` 메서드](https://nodejs.org/api/net.html#serveraddress)에서 제공하는 주소, 패밀리, 포트 번호입니다. ### `astro:server:done` @@ -956,10 +956,10 @@ export default {

-**타입:** Map\PageBuildData\> +**타입:** `Map`

-키로 페이지 목록을, 값으로 해당 페이지의 빌드 데이터를 갖는 `Map`입니다. +키로 페이지 목록을, 값으로 [해당 페이지의 빌드 데이터](#페이지-빌드-데이터)를 갖는 `Map`입니다. 이를 사용하여 특정 조건과 일치하는 경로가 있는 경우 작업을 수행할 수 있습니다. @@ -978,6 +978,57 @@ export default { } ``` +#### 페이지 빌드 데이터 + +페이지 빌드 방법을 설명하는 객체입니다. + +###### `key` + +

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

+ +페이지의 고유 식별자를 지정합니다. + +###### `component` + +

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

+ +소스 컴포넌트 URL을 지정합니다. + +###### `route` + +

+ +**타입:** [`RouteData`](#routedata) +

+ +페이지 라우트에 대한 정보를 설명합니다. + +###### `moduleSpecifier` + +

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

+ +모듈의 파일 경로로 해석될 수 있는 문자열을 정의합니다. + +###### `styles` + +

+ +**타입:** `Array<{ depth: number; order: number; sheet: { type: 'inline'; content: string } | { type: 'external'; src: string } }>`
+ +

+ +페이지에 렌더링할 스타일 목록입니다. 각 스타일은 컴포넌트 트리에서의 `depth`와 페이지상의 표시 `order`를 포함하며, 이를 인라인 또는 외부 스타일로 적용해야 하는지에 대한 표시를 포함합니다. + #### `target` 옵션

@@ -1053,7 +1104,7 @@ export default {

-**타입:** [`SerializedSSRManifest`](https://github.com/withastro/astro/blob/3b10b97a4fecd1dfd959b160a07b5b8427fe40a7/packages/astro/src/core/app/types.ts#L91-L109) +**타입:** [`SerializedSSRManifest`](#직렬화된-ssr-매니페스트-속성)

SSR 매니페스트에 액세스하여 커스텀 빌드를 생성할 수 있습니다. @@ -1072,6 +1123,77 @@ export default { } ``` +##### 직렬화된 SSR 매니페스트 속성 + +[`astro:build:ssr` 훅](#astrobuildssr)을 통해 접근할 수 있는 [`SSRManifest`](#ssrmanifest)의 직렬화된 버전입니다. 이는 `SSRManifest`와 동일한 정보를 포함하며, 일부 속성은 직렬화 가능한 형식으로 변환됩니다. + +###### `routes` + +

+ +**타입:** `SerializedRouteInfo[]` +

+ +직렬화된 라우트 정보 목록을 정의합니다. 각 라우트는 [`SSRManifest.routes`](#routes-1)와 동일한 속성을 포함하며, `routeData`는 JSON으로 직렬화 가능한 형식으로 변환됩니다. + +###### `assets` + +

+ +**타입:** `string[]` +

+ +직렬화된 자산 파일 경로 목록을 정의합니다. + +###### `componentMetadata` + +

+ +**타입:** [string, SSRComponentMetadata][]
+ +

+ +첫 번째 요소가 컴포넌트 식별자이고 두 번째 요소가 빌드 메타데이터를 설명하는 객체인 키-값 쌍의 배열을 정의합니다. + +###### `inlinedScripts` + +

+ +**타입:** `[string, string][]` +

+ +각 항목이 튜플인 키-값 쌍의 배열을 정의합니다. 첫 번째 요소는 스크립트 식별자이고 두 번째 요소는 스크립트 콘텐츠입니다. + +###### `clientDirectives` + +

+ +**타입:** `[string, string][]`
+ +

+ +첫 번째 요소가 지시어 이름(예: `load`, `visible`)이고 두 번째 요소가 지시어의 구현 코드인 키-값 쌍의 배열을 정의합니다. + +###### `serverIslandNameMap` + +

+ +**타입:** `[string, string][]`
+ +

+ +각 항목이 튜플인 키-값 쌍의 배열을 정의합니다. 첫 번째 요소는 컴포넌트 경로이고 두 번째 요소는 할당된 이름입니다. + +###### `key` + +

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

+ +서버 아일랜드 props를 암호화하는 데 사용되는, 문자열로 직렬화된 암호화 키를 지정합니다. + #### `entryPoints` 옵션

@@ -1147,7 +1269,9 @@ export default { **타입:** [`URL`](https://developer.mozilla.org/ko/docs/Web/API/URL)

-빌드 출력 디렉터리의 URL 경로입니다. 유효한 절대 경로 문자열이 필요한 경우 Node의 내장 [`fileURLToPath`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) 유틸리티를 사용해야 합니다. +빌드 출력 디렉터리에 대한 URL 경로입니다. + +다음 예시는 Node.js의 내장 [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) 유틸리티를 사용하여 통합에서 제공하는 파일의 유효한 절대 경로 문자열을 계산합니다. ```js import { fileURLToPath } from 'node:url'; @@ -1188,7 +1312,9 @@ export default { **타입:** [`URL`](https://developer.mozilla.org/ko/docs/Web/API/URL)

-빌드 출력 디렉터리의 URL 경로입니다. 유효한 절대 경로 문자열이 필요한 경우 Node의 내장 [`fileURLToPath`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) 유틸리티를 사용해야 합니다. +빌드 출력 디렉터리에 대한 URL 경로입니다. + +다음 예시는 Node.js의 내장 [`fileURLToPath()`](https://nodejs.org/api/url.html#urlfileurltopathurl-options) 유틸리티를 사용하여 파일에 쓰기 전, 통합에서 제공하는 파일의 유효한 절대 경로 문자열을 계산합니다. ```js import { writeFile } from 'node:fs/promises'; @@ -1243,7 +1369,7 @@ export default function myIntegration() { **타입:** `{ pathname: string }[]`

-생성된 모든 페이지 목록입니다. 하나의 속성을 가진 객체입니다. +생성된 모든 페이지의 목록입니다. 각 항목은 하나의 속성을 가진 객체입니다. - `pathname` - 페이지의 최종 경로. @@ -1270,12 +1396,21 @@ Astro는 향후 내장 훅을 위해 `astro:` 접두사를 예약합니다. 사 ```ts import type { AstroIntegrationLogger, + AstroIntegrationMiddleware, + AstroMiddlewareInstance, + AstroRenderer, + ClientDirectiveConfig, HookParameters, IntegrationResolvedRoute, RedirectConfig, RouteData, RoutePart, RouteType, + SSRComponentMetadata, + SSRLoadedRenderer, + SSRLoadedRendererValue, + SSRManifest, + SSRManifestCSP, ValidRedirectStatus, // 다음 타입은 더 이상 사용되지 않습니다. IntegrationRouteData, @@ -1344,9 +1479,110 @@ export function formatIntegration(): AstroIntegration { [astro-format/build] Build finished. ``` +### `AstroIntegrationMiddleware` + +

+ +**타입:** `{ order: "pre" | "post"; entrypoint: string | URL; }` +

+ +[통합에 의해 추가된 미들웨어](#addmiddleware-옵션)를 설명합니다. + +#### `order` + +

+ +**타입:** `"pre" | "post"` +

+ +미들웨어가 다른 미들웨어보다 먼저(`pre`) 실행되어야 할지 아니면 이후(`post`)에 실행되어야 할지를 지정합니다. + +#### `entrypoint` + +

+ +**타입:** `string | URL` +

+ +미들웨어의 가져오기 경로를 정의합니다. + +### `AstroMiddlewareInstance` + +

+ +**타입:** \{ onRequest?: MiddlewareHandler; \} +

+ +프로젝트의 미들웨어 함수가 존재하는 경우, 해당 함수로 정의된 [`onRequest()`](/ko/reference/modules/astro-middleware/#onrequest) 속성을 포함하는 객체입니다. + +### `AstroRenderer` + +

+ +**타입:** `{ name: string; clientEntrypoint?: string | URL; serverEntrypoint: string | URL; }` +

+ +[통합에 의해 추가된 컴포넌트 프레임워크 렌더러](#addrenderer-옵션)를 설명합니다. + +#### `name` + +

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

+ +컴포넌트 프레임워크 렌더러의 이름입니다. + +#### `clientEntrypoint` + +

+ +**타입:** `string | URL` +

+ +컴포넌트가 사용될 때마다 클라이언트에서 실행되는 렌더러의 가져오기 경로를 정의합니다. + +#### `serverEntrypoint` + +

+ +**타입:** `string | URL` +

+ +컴포넌트가 사용될 때마다 서버 측 요청 또는 정적 빌드 중에 실행되는 렌더러의 가져오기 경로를 정의합니다. + +### `ClientDirectiveConfig` + +

+ +**타입:** `{ name: string; entrypoint: string | URL; }` +

+ +[통합에 의해 추가된 사용자 정의 클라이언트 지시어](#addclientdirective-옵션)를 설명합니다. + +#### `name` + +

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

+ +지시어에 의해 트리거되는 이벤트의 사용자 정의 이름입니다. + +#### `entrypoint` + +

+ +**타입:** `string | URL` +

+ +지시어가 사용될 때마다 실행되는 코드의 가져오기 경로를 정의합니다. + ### `HookParameters` -`HookParameters` 유틸리티 타입에 훅 이름을 전달하여 훅 인자의 타입을 가져올 수 있습니다. 다음 예제에서 함수의 `options` 인자는 `astro:config:setup` 훅의 매개변수와 일치하도록 타입이 지정됩니다. +`HookParameters` 유틸리티 타입에 훅의 이름을 전달하여 훅 인자의 타입을 가져올 수 있습니다. + +다음 예시에서 함수의 `options` 인자는 [`astro:config:setup` 훅](#astroconfigsetup)의 매개변수와 일치하도록 타입이 지정되었습니다. ```ts /HookParameters(?:<.+>)?/ import type { HookParameters } from 'astro'; @@ -1436,7 +1672,7 @@ interface IntegrationResolvedRoute extends Pick< ### `RouteData` -라우트에 대한 정보를 설명합니다. 여기에는 다음 속성이 포함됩니다. +라우트에 대한 정보를 설명합니다. #### `route` @@ -1609,7 +1845,7 @@ generate({ id: 'presentation' }) // `/blog/presentation`을 출력합니다. **타입:** `{ content: string; dynamic: boolean; spread: boolean; }`

-라우트 세그먼트를 설명합니다. 여기에는 다음과 같은 속성들이 포함됩니다. +라우트 세그먼트를 설명합니다. #### `content` @@ -1656,6 +1892,659 @@ generate({ id: 'presentation' }) // `/blog/presentation`을 출력합니다. * `redirect`: 파일 시스템에 존재하는 다른 라우트를 가리키는 라우트입니다. * `fallback`: 파일 시스템에는 존재하지 않으며, 보통 미들웨어 등 다른 방식으로 처리해야 하는 라우트입니다. +### `SSRComponentMetadata` + +

+ +**타입:** `{ propagation: PropagationHint; containsHead: boolean; }` +

+ +서버에서 렌더링된 컴포넌트의 빌드 메타데이터를 설명합니다. + +#### `propagation` + +

+ +**타입:** `'none' | 'self' | 'in-tree'` +

+ +이 컴포넌트에서 head 콘텐츠를 렌더링하는 방법에 대한 설명이며, Astro 런타임이 다음 컴포넌트를 기다려야 하는지 여부를 포함합니다. +- `none`: 컴포넌트가 head 콘텐츠를 전파하지 않습니다. +- `self`: 컴포넌트가 head 콘텐츠를 추가합니다. +- `in-tree`: 이 컴포넌트의 의존성 트리에 있는 다른 컴포넌트가 head 콘텐츠를 추가합니다. + +#### `containsHead` + +

+ +**타입:** `boolean` +

+ +컴포넌트가 head 콘텐츠를 포함하는지 여부를 결정합니다. + +### `SSRLoadedRenderer` + +

+ +**타입:** `{ name: string; clientEntrypoint?: string | URL; ssr: SSRLoadedRendererValue; }` +

+ +서버에서 사용할 수 있는 렌더러를 설명합니다. 이는 [`AstroRenderer`](#astrorenderer)의 하위 집합이며 다음과 같은 추가 속성을 포함합니다. + +#### `ssr` + +

+ +**타입:** [`SSRLoadedRendererValue`](#ssrloadedrenderervalue) +

+ +이 프레임워크를 위해 서버에서 사용하는 함수 및 설정을 정의합니다. + +### `SSRLoadedRendererValue` + +특정 UI 프레임워크의 컴포넌트를 서버에서 렌더링하는 데 필요한 함수와 설정을 포함합니다. + +#### `name` + +

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

+ +렌더러의 이름 식별자를 지정합니다. + +#### `check()` + +

+ +**타입:** `AsyncRendererComponentFn` +

+ +렌더러가 해당 컴포넌트를 처리해야 할지 여부를 결정합니다. + +#### `renderToStaticMarkup()` + +

+ +**타입:** `AsyncRendererComponentFn<{ html: string; attrs?: Record; }>` +

+ +프레임워크 컴포넌트를 서버에서 정적 HTML 마크업으로 렌더링합니다. + +#### `supportsAstroStaticSlot` + +

+ +**타입:** `boolean`
+ +

+ +렌더러가 Astro의 정적 슬롯 최적화를 지원하는지 여부를 나타냅니다. 이 값이 true이면, Astro는 아일랜드 내부에 중첩된 슬롯이 제거되지 않도록 방지합니다. + +#### `renderHydrationScript()` + +

+ +**타입:** `() => string`
+ +

+ +첫 번째 컴포넌트가 이 렌더러를 사용하기 전, HTML에 주입되어야 하는 프레임워크별 하이드레이션 스크립트를 반환합니다. + +### `SSRManifest` + +서버 어댑터가 요청 시 렌더링되는 페이지를 서비스하기 위해 런타임에 사용하는 빌드 설정 및 프로젝트 메타데이터를 포함하는 객체입니다. + +#### `hrefRoot` + +

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

+ +URL을 생성하는 데 사용되는 루트 경로를 지정합니다. + +#### `adapterName` + +

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

+ +요청 시 렌더링에 사용되는 [서버 어댑터](/ko/guides/on-demand-rendering/#서버-어댑터)의 이름을 정의합니다. + +#### `routes` + +

+ +**타입:** `RouteInfo[]` +

+ +이 프로젝트에서 사용 가능한 라우트에 대한 정보 목록입니다. 각 항목은 다음 속성들을 포함합니다. + +##### `routeData` + +

+ +**타입:** [`RouteData`](#routedata) +

+ +라우트에 대해 알려진 정보를 설명하는 객체입니다. + +##### `file` + +

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

+ +빌드된 라우트 진입점의 파일 경로를 지정합니다. + +##### `links` + +

+ +**타입:** `string[]` +

+ +이 라우트에 필요한 [HTML `link` 요소](https://developer.mozilla.org/ko/docs/Web/HTML/Reference/Elements/link) 목록을 정의합니다. + +##### `scripts` + +

+ +**타입:** `Array<{ children: string; stage: string } | { type: 'inline' | 'external'; value: string }>` +

+ +이 라우트와 관련된 스크립트 목록을 정의합니다. 여기에는 `children` 및 `stage` 속성을 가진 통합 삽입 스크립트와 `type` 및 `value` 속성을 가진 호이스팅된 스크립트가 모두 포함됩니다. + +##### `styles` + +

+ +**타입:** `Array<{ type: "inline"; content: string; } | { type: "external"; src: string; }>`
+ +

+ +이 라우트와 관련된 스타일시트 목록을 정의합니다. 여기에는 인라인 스타일과 스타일시트 URL이 모두 포함됩니다. + +#### `site` + +

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

+ +[설정된 `site`](/ko/reference/configuration-reference/#site)를 지정합니다. + +#### `base` + +

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

+ +배포할 [설정된 `base` 경로](/ko/reference/configuration-reference/#base)를 지정합니다. + +#### `userAssetsBase` + +

+ +**타입:** `string | undefined`
+ +

+ +스크립트 및 스타일과 같은 사용자가 생성한 자산에 대해 개발 모드에서 사용할 기본 경로를 지정합니다. + +#### `trailingSlash` + +

+ +**타입:** [`AstroConfig['trailingSlash']`](/ko/reference/configuration-reference/#trailingslash)
+ +

+ +개발 모드 및 요청 시 렌더링된 페이지에 대해 [설정된 트레일링 슬래시 동작](/ko/reference/configuration-reference/#trailingslash)을 지정합니다. + +#### `buildFormat` + +

+ +**타입:** [`NonNullable['format']`](/ko/reference/configuration-reference/#buildformat)
+ +

+ +[설정된 출력 파일 형식](/ko/reference/configuration-reference/#buildformat)을 지정합니다. + +#### `compressHTML` + +

+ +**타입:** `boolean`
+ +

+ +[프로젝트 구성에서 HTML 축소가 활성화되어 있는지](/ko/reference/configuration-reference/#compresshtml) 여부를 결정합니다. + +#### `assetsPrefix` + +

+ +**타입:** `string | ({ fallback: string; } & Record) | undefined`
+ +

+ +[Astro가 생성한 자산 링크에 대해 설정된 접두사](/ko/reference/configuration-reference/#buildassetsprefix)를 지정합니다. + +#### `renderers` + +

+ +**타입:** SSRLoadedRenderer[] +

+ +서버에서 사용할 수 있는 렌더러(예: React, Vue, Svelte, MDX)의 목록입니다. + +#### `clientDirectives` + +

+ +**타입:** `Map`
+ +

+ +클라이언트 지시어 이름(예: `load`, `visible`)을 해당 구현 코드에 매핑하여 정의합니다. 여기에는 [기본 제공 클라이언트 지시어](/ko/reference/directives-reference/#클라이언트-지시어)와 [사용자 정의 클라이언트 지시어](/ko/reference/directives-reference/#사용자-정의-클라이언트-지시어)가 모두 포함됩니다. + +#### `entryModules` + +

+ +**타입:** `Record` +

+ +진입점과 해당 출력 파일 경로 간의 매핑을 정의합니다. + +#### `inlinedScripts` + +

+ +**타입:** `Map`
+ +

+ +HTML 출력에 인라인으로 포함될 스크립트의 식별자와 해당 콘텐츠 간의 매핑을 정의합니다. + +#### `assets` + +

+ +**타입:** `Set` +

+ +빌드에 포함된 모든 자산의 파일 경로 세트를 정의합니다. + +#### `componentMetadata` + +

+ +**타입:** Map\SSRComponentMetadata\>
+ +

+ +컴포넌트 식별자와 빌드 메타데이터 간의 매핑을 정의합니다. 각 항목에는 [`propagation`](#propagation) 동작 및 헤드 요소 포함 여부에 대한 정보가 포함됩니다. + +#### `pageModule` + +

+ +**타입:** `{ page: ImportComponentInstance; onRequest?: MiddlewareHandler; renderers: SSRLoadedRenderer[]; }`
+ +

+ +페이지 모듈에 대한 정보를 지정합니다. + +##### `page()` + +

+ +**타입:** `() => Promise` +

+ +페이지 컴포넌트의 인스턴스를 가져오는 함수입니다. + +##### `onRequest()` + +

+ +**타입:** [`MiddlewareHandler`](/ko/reference/modules/astro-middleware/#middlewarehandler)
+ +

+ +사용자 프로젝트에 정의된 [Astro 미들웨어 함수](/ko/reference/modules/astro-middleware/#onrequest)입니다. + +##### `renderers` + +

+ +**타입:** SSRLoadedRenderer[] +

+ +서버가 이 페이지에서 사용할 수 있는 렌더러 목록입니다. + +#### `pageMap` + +

+ +**타입:** Map\ Promise\<typeof pageModule\>\> +

+ +컴포넌트 경로와 가져오기 가능한 인스턴스 간의 매핑을 정의합니다. + +#### `serverIslandMap` + +

+ +**타입:** `Map Promise>`
+ +

+ +서버 아일랜드 ID와 컴포넌트 인스턴스 간의 매핑을 정의합니다. + +#### `serverIslandNameMap` + +

+ +**타입:** `Map`
+ +

+ +서버 아일랜드 컴포넌트 경로와 할당된 이름 간의 매핑을 정의합니다. + +#### `key` + +

+ +**타입:** `Promise`
+ +

+ +서버 아일랜드 props를 암호화하는 데 사용되는 [암호화 키](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey)를 결정합니다. + +#### `i18n` + +

+ +**타입:** `SSRManifestI18n | undefined`
+ +

+ +프로젝트에서 활성화된 경우 해결된 [`i18n` 구성](/ko/reference/configuration-reference/#i18n)을 지정합니다. + +##### `strategy` + +

+ +**타입:** `"manual" | "pathname-prefix-always" | "pathname-prefix-other-locales" | "pathname-prefix-always-no-redirect" | "domains-prefix-always" | "domains-prefix-other-locales" | "domains-prefix-always-no-redirect"` +

+ +설정된 [i18n 라우팅 전략](/ko/reference/configuration-reference/#i18nrouting)을 정의합니다. 이는 URL에서 로케일이 처리되는 방식과 리디렉션 발생 여부를 결정합니다. + +##### `locales` + +

+ +**타입:** `Locales` +

+ +[프로젝트에 설정된 지원되는 로케일](/ko/reference/configuration-reference/#i18nlocales) 목록을 지정합니다. + +##### `defaultLocale` + +

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

+ +[프로젝트에 설정된 기본 로케일](/ko/reference/configuration-reference/#i18ndefaultlocale)을 결정합니다. + +##### `fallback` + +

+ +**타입:** `Record | undefined` +

+ + 로케일과 [`i18n.fallback`에 설정된](/ko/reference/configuration-reference/#i18nfallback) 대체 로케일 간의 매핑을 지정합니다. + +##### `fallbackType` + +

+ +**타입:** `"redirect" | "rewrite"` +

+ +[프로젝트에 설정된 대체 전략](/ko/reference/configuration-reference/#i18nroutingfallbacktype)을 결정합니다. + +##### `domainLookupTable` + +

+ +**타입:** `Record` +

+ +[설정된 도메인](/ko/reference/configuration-reference/#i18ndomains)과 관련 로케일 간의 매핑입니다. + +#### `middleware` + +

+ +**타입:** () => Promise\<AstroMiddlewareInstance\> | AstroMiddlewareInstance
+ +

+ +미들웨어를 로드하기 위한 인스턴스를 정의합니다. + +#### `actions` + +

+ +**타입:** () => Promise\<\{ server: Record\ActionClient\>; \}\> | \{ server: Record\ActionClient\>; \}
+ +

+ +액션 이름을 호출 가능한 함수에 매핑하는 `server` 속성을 가진 객체 또는 해당 객체를 반환하는 함수입니다. + +#### `checkOrigin` + +

+ +**타입:** `boolean`
+ +

+ +[보안 구성에서 오리진 검사가 활성화되어 있는지](/ko/reference/configuration-reference/#securitycheckorigin) 여부를 결정합니다. + +#### `allowedDomains` + +

+ +**타입:** Partial\<RemotePattern\>[] +

+ +요청 시 렌더링을 사용할 때 들어오는 요청에 대해 [허용된 호스트 패턴의 구성된 목록](/ko/reference/configuration-reference/#securityalloweddomains)을 지정합니다. + +#### `sessionConfig` + +

+ +**타입:** SessionConfig\ & \{ driverModule?: () => Promise\<\{ default: () => unstorage.Driver \}\>; }
+ +

+ +[해결된 세션 구성](/ko/reference/configuration-reference/#세션-옵션)과 사용 중인 드라이버를 정의하는 추가 속성을 포함하는 객체입니다. + +#### `cacheDir` + +

+ +**타입:** `string | URL`
+ +

+ +[빌드 아티팩트 캐싱을 위해 설정된 디렉터리](/ko/reference/configuration-reference/#cachedir)를 지정합니다. + +#### `srcDir` + +

+ +**타입:** `string | URL`
+ +

+ +[Astro가 사이트를 읽어 들일 설정된 디렉터리](/ko/reference/configuration-reference/#srcdir)를 지정합니다. + +#### `outDir` + +

+ +**타입:** `string | URL`
+ +

+ +[최종 빌드 결과물을 저장할 설정된 디렉터리](/ko/reference/configuration-reference/#outdir)를 지정합니다. + +#### `publicDir` + +

+ +**타입:** `string | URL`
+ +

+ +[정적 자산을 위해 설정된 디렉터리](/ko/reference/configuration-reference/#publicdir)를 지정합니다. + +#### `buildClientDir` + +

+ +**타입:** `string | URL`
+ +

+ +빌드 경로 내에서 클라이언트 측 빌드 아티팩트(예: JavaScript, CSS)가 출력될 경로를 결정합니다. + +#### `buildServerDir` + +

+ +**타입:** `string | URL`
+ +

+ +빌드 경로 내에서 서버 측 빌드 아티팩트가 출력될 경로를 결정합니다. + +#### `csp` + +

+ +**타입:** SSRManifestCSP | undefined
+ +

+ +콘텐츠 보안 정책 구성을 설명하는 객체입니다. + +#### `internalFetchHeaders` + +

+ +**타입:** `Record`
+ +

+ +렌더링 중 발생하는 내부 fetch 요청에 자동으로 추가되는 헤더를 지정합니다. + +### `SSRManifestCSP` + +

+ + +

+ +[콘텐츠 보안 정책 구성](/ko/reference/experimental-flags/csp/)을 설명합니다. + +#### `cspDestination` + +

+ +**타입:** `'adapter' | 'meta' | 'header' | undefined` +

+ +CSP 지시어를 `meta` 요소로 삽입할지, 응답 `header`로 삽입할지, [응답 헤더 설정을 지원하는 어댑터](/ko/reference/adapter-reference/#experimentalstaticheaders)를 통해 삽입할지 여부를 지정합니다. + +#### `algorithm` + +

+ +**타입:** `'SHA-256' | 'SHA-384' | 'SHA-512'` +

+ +[설정된 해시 함수](/ko/reference/experimental-flags/csp/#algorithm)를 지정합니다. + +#### `scriptHashes` + +

+ +**타입:** `string[]` +

+ +프로젝트 스크립트용으로 생성된 해시 목록과 외부 스크립트용으로 [사용자가 제공한 해시](/ko/reference/experimental-flags/csp/#hashes) 목록을 지정합니다. + +#### `scriptResources` + +

+ +**타입:** `string[]` +

+ +[설정된 스크립트 리소스](/ko/reference/experimental-flags/csp/#resources)와 [삽입된 스크립트 리소스](/ko/reference/experimental-flags/csp/#cspinsertscriptresource)를 결합한 유효한 소스 목록을 지정합니다. + +#### `isStrictDynamic` + +

+ +**타입:** `boolean` +

+ +[설정에서 동적 스크립트 삽입 지원이 활성화되었는지 여부](/ko/reference/experimental-flags/csp/#strictdynamic)를 결정합니다. + +#### `styleHashes` + +

+ +**타입:** `string[]` +

+ +프로젝트 스타일용으로 생성된 해시 목록과 외부 스타일용으로 [사용자가 제공한 해시](/ko/reference/experimental-flags/csp/#hashes) 목록을 지정합니다. + +#### `styleResources` + +

+ +**타입:** `string[]` +

+ +[설정된 스타일 리소스](/ko/reference/experimental-flags/csp/#resources)와 [삽입된 스타일 리소스](/ko/reference/experimental-flags/csp/#cspinsertstyleresource)를 결합한 유효한 소스 목록을 지정합니다. + +#### `directives` + +

+ +**타입:** `CspDirective[]` +

+ +특정 콘텐츠 유형에 대해 [설정된 유효한 소스 목록](/ko/reference/experimental-flags/csp/#directives)을 지정합니다. + ### `ValidRedirectStatus`