API 참조
Astro
global
섹션 제목: Astro globalAstro
global은 .astro
파일의 모든 컨텍스트에서 사용할 수 있습니다. 다음과 같은 기능이 있습니다:
Astro.glob()
섹션 제목: Astro.glob()Astro.glob()
은 정적 사이트 설정에 많은 로컬 파일을 로드하는 방법입니다.
.glob()
은 하나의 매개변수, 즉 가져오려는 로컬 파일의 상대 URL glob만 사용합니다. 비동기식이며 일치하는 파일에서 내보내기 배열을 반환합니다.
.glob()
은 정적으로 분석할 수 없기 때문에 이를 보간하는 변수나 문자열을 사용할 수 없습니다. (해결 방법은 문제 해결 안내서를 참조하세요.) 이는 Astro.glob()
이 Vite의 import.meta.glob()
의 래퍼이기 때문입니다..
Astro 프로젝트에서 import.meta.glob()
자체를 사용할 수도 있습니다. 다음과 같은 경우에 이 작업을 수행할 수 있습니다.
- API 경로와 같이
.astro
가 아닌 파일에 이 기능이 필요합니다.Astro.glob()
은.astro
파일에서만 사용할 수 있는 반면,import.meta.glob()
은 프로젝트의 어느 곳에서나 사용할 수 있습니다. - 각 파일을 즉시 로드하고 싶지는 않을 때 사용할 수 있습니다.
import.meta.glob()
은 콘텐츠 자체를 반환하는 대신 파일 콘텐츠를 가져오는 함수를 반환할 수 있습니다. 이 가져오기에는 가져온 파일의 모든 스타일과 스크립트가 포함됩니다. 이는 파일이 실제로 사용되는지 여부에 관계없이 번들로 묶여 페이지에 추가됩니다. 이는 런타임 시가 아닌 정적 분석에 의해 결정되기 때문입니다. - 각 파일의 경로에 접근하고 싶을 때 사용할 수 있습니다.
import.meta.glob()
은 파일의 콘텐츠 경로 맵을 반환하는 반면Astro.glob()
은 콘텐츠 목록을 반환합니다. - 여러 패턴을 전달하고 싶을 때 사용할 수 있습니다. 예를 들어 특정 파일을 필터링하는 “부정 패턴”을 추가하려고 합니다.
import.meta.glob()
은 선택적으로 단일 문자열이 아닌 glob 문자열 배열을 취할 수 있습니다.
Vite 문서에서 자세한 내용을 읽어보세요.
Markdown 파일
섹션 제목: Markdown 파일Markdown 파일에는 다음과 같은 인터페이스가 있습니다.
TypeScript 제네릭을 사용하여 frontmatter
변수에 대한 타입을 선택적으로 제공할 수 있습니다.
Astro 파일
섹션 제목: Astro 파일Astro 파일에는 다음과 같은 인터페이스가 있습니다:
기타 파일
섹션 제목: 기타 파일다른 파일에는 다양한 인터페이스가 있을 수 있지만, 인식할 수 없는 파일 타입에 무엇이 포함되어 있는지 정확히 아는 경우 Astro.glob()
은 TypeScript 제네릭을 허용합니다.
Astro.props
섹션 제목: Astro.propsAstro.props
는 컴포넌트 속성으로 전달된 모든 값을 포함하는 객체입니다. .md
및 .mdx
파일의 레이아웃 컴포넌트는 프런트매터 값을 props로 받습니다.
Astro.params
섹션 제목: Astro.paramsAstro.params
는 이 요청과 일치하는 동적 경로 세그먼트의 값을 포함하는 객체입니다.
정적 빌드에서 이 객체는 동적 경로 사전 렌더링에 사용되는 getStaticPaths()
에서 반환하는 params
입니다.
SSR 빌드에서는 동적 경로 패턴의 경로 세그먼트와 일치하는 모든 값이 될 수 있습니다.
함께 보기: params
Astro.request
섹션 제목: Astro.requestAstro.request
는 표준 Request 객체입니다. url
, headers
, method
및 요청 본문을 가져오는 데 사용할 수 있습니다.
함께 보기: Astro.url
기본 output: 'static'
옵션을 사용하면 Astro.request.url
에는 ?foo=bar
와 같은 검색 매개변수가 포함되지 않습니다. 정적 빌드 중에 매개변수를 미리 결정할 수 없기 때문입니다. 그러나 output: 'server'
모드에서 Astro.request.url
은 서버 요청에서 확인할 수 있는 검색 매개변수를 포함합니다.
Astro.response
섹션 제목: Astro.responseAstro.response
는 표준 ResponseInit
객체입니다. 다음과 같은 구조를 가지고 있습니다.
status
: 응답의 숫자 상태 코드입니다(예:200
).statusText
: 상태 코드와 관련된 상태 메시지입니다 (예:'OK'
).headers
: 응답의 HTTP 헤더를 설정하는 데 사용할 수 있는Headers
인스턴스입니다.
Astro.response
는 페이지 응답에 대한 status
, statusText
, headers
를 설정하는 데 사용됩니다.
또는 헤더를 설정하려면:
Astro.cookies
섹션 제목: Astro.cookies
Added in:
astro@1.4.0
Astro.cookies
에는 서버 측 렌더링 모드에서 쿠키를 읽고 조작하기 위한 유틸리티가 포함되어 있습니다.
get
섹션 제목: get타입: (key: string, options?: CookieGetOptions) => AstroCookie
쿠키를 문자열이 아닌 타입으로 변환하기 위한 value
및 유틸리티 함수가 포함된 AstroCookie
객체로 쿠키를 가져옵니다.
has
섹션 제목: has타입: (key: string) => boolean
이 쿠키가 존재하는지 여부입니다. 쿠키가 Astro.cookies.set()
을 통해 설정된 경우 true를 반환하고, 그렇지 않으면 Astro.request
에서 쿠키를 확인합니다.
set
섹션 제목: set타입: (key: string, value: string | number | boolean | object, options?: CookieSetOptions) => void
쿠키의 key
를 주어진 값으로 설정합니다. 그러면 쿠키 값을 문자열로 변환하려고 시도합니다. 옵션은 maxAge
또는 httpOnly
와 같은 쿠키 기능을 설정하는 방법을 제공합니다.
delete
섹션 제목: delete타입: (key: string, options?: CookieDeleteOptions) => void
만료 날짜를 과거 (Unix 시간에서는 0)로 설정하여 쿠키를 무효화합니다.
쿠키가 “제거되면” (만료되면) Astro.cookies.has()
는 false
를 반환하고 Astro.cookies.get()
은 value
가 undefined
인 AstroCookie
를 반환합니다. 쿠키를 삭제할 때 사용할 수 있는 옵션은 domain
, path
, httpOnly
, sameSite
및 secure
입니다.
headers
섹션 제목: headers타입: () => Iterator<string>
응답과 함께 전송될 Set-Cookie
에 대한 헤더 값을 가져옵니다.
AstroCookie
섹션 제목: AstroCookieAstro.cookies.get()
을 통해 쿠키를 가져오면 AstroCookie
타입이 반환됩니다. 다음과 같은 구조를 가지고 있습니다.
value
섹션 제목: value타입: string | undefined
쿠키의 원시 문자열 값입니다.
json
섹션 제목: json타입: () => Record<string, any>
JSON.parse()
를 통해 쿠키 값을 구문 분석하여 객체를 반환합니다. 쿠키 값이 유효한 JSON이 아닌 경우 예외가 발생합니다.
number
섹션 제목: number타입: () => number
쿠키 값을 숫자로 구문 분석합니다. 유효한 숫자가 아닌 경우 NaN을 반환합니다.
boolean
섹션 제목: boolean타입: () => boolean
쿠키 값을 true 또는 false로 변환합니다.
CookieGetOptions
섹션 제목: CookieGetOptions
Added in:
astro@4.1.0
쿠키를 얻으면 CookieGetOptions
인터페이스를 통해 옵션을 지정할 수도 있습니다.
decode
섹션 제목: decode타입: (value: string) => string
쿠키가 값으로 역직렬화되는 방식을 사용자 정의할 수 있습니다.
CookieSetOptions
섹션 제목: CookieSetOptions
Added in:
astro@4.1.0
Astro.cookies.set()
을 통해 쿠키를 설정하면 CookieSetOptions
를 전달하여 쿠키 직렬화 방법을 맞춤설정할 수 있습니다.
domain
섹션 제목: domain타입: string
도메인을 지정합니다. 도메인이 설정되지 않은 경우 대부분의 클라이언트는 현재 도메인에 적용되도록 해석합니다.
expires
섹션 제목: expires타입: Date
쿠키가 만료되는 날짜를 지정합니다.
httpOnly
섹션 제목: httpOnly타입: boolean
true인 경우 클라이언트 측에서 쿠키에 액세스할 수 없습니다.
maxAge
섹션 제목: maxAge타입: number
쿠키가 유효한 시간 (초)을 지정합니다.
path
섹션 제목: path타입: string
쿠키가 적용되는 도메인의 하위 경로를 지정합니다.
sameSite
섹션 제목: sameSite타입: boolean | 'lax' | 'none' | 'strict'
SameSite 쿠키 헤더의 값을 지정합니다.
secure
섹션 제목: secure타입: boolean
true인 경우 쿠키는 https 사이트에만 설정됩니다.
encode
섹션 제목: encode타입: (value: string) => string
쿠키가 직렬화되는 방식을 사용자 정의할 수 있습니다.
Astro.redirect()
섹션 제목: Astro.redirect()다른 페이지로 리디렉션하며, 선택적으로 두 번째 매개변수로 HTTP 응답 상태 코드를 제공할 수 있습니다.
페이지 (하위 컴포넌트는 아님)에 리디렉션이 발생하려면 Astro.redirect()
결과를 return
해야 합니다.
다음 예시에서는 기본 HTTP 응답 상태 코드 302를 사용하여 사용자를 로그인 페이지로 리디렉션합니다.
Astro.canonicalURL
섹션 제목: Astro.canonicalURLAstro.url
을 사용하여 자신만의 표준 URL을 구성하세요.
현재 페이지의 canonical URL입니다.
Astro.url
섹션 제목: Astro.url
Added in:
astro@1.0.0-rc
현재 Astro.request.url
URL 문자열 값에서 생성된 URL 객체입니다. pathname 및 origin과 같은 요청 URL의 개별 속성과 상호 작용하는 데 유용합니다.
new URL(Astro.request.url)
을 수행하는 것과 동일합니다.
Astro.url
을 new URL()
에 인수로 전달하여 새 URL을 생성하는 데 사용할 수도 있습니다.
Astro.clientAddress
섹션 제목: Astro.clientAddress
Added in:
astro@1.0.0-rc
요청의 IP 주소를 지정합니다. 이 속성은 SSR (서버 측 렌더링)용으로 빌드할 때만 사용할 수 있으며 정적 사이트에는 사용하면 안 됩니다.
Astro.site
섹션 제목: Astro.siteAstro.site
는 Astro 구성의 site
에서 만들어진 URL
을 반환합니다. Astro 구성의 site
가 정의되지 않은 경우 Astro.site
가 정의되지 않습니다.
Astro.generator
섹션 제목: Astro.generator
Added in:
astro@1.0.0
Astro.generator
는 <meta name="generator">
태그에 현재 버전의 Astro를 추가하는 편리한 방법입니다. "Astro v1.x.x"
형식을 따릅니다.