CLI 명령
Astro에서 제공하는 명령줄 인터페이스 (CLI)를 사용하여 터미널 창에서 프로젝트를 개발, 빌드, 미리 볼 수 있습니다.
astro
명령
섹션 제목: astro 명령원하는 패키지 관리자로 이 페이지에 설명된 명령 중 하나를 실행하고 선택적으로 플래그를 실행하여 CLI를 사용하세요. 플래그는 명령의 동작을 사용자 정의합니다.
가장 자주 사용하게 될 명령 중 하나는 astro dev
입니다. 이 명령은 개발 서버를 시작하고 작업하는 동안 브라우저에서 사이트의 실시간 업데이트 미리보기를 제공합니다.
터미널에 astro --help
를 입력하면 사용 가능한 모든 명령 목록을 표시할 수 있습니다.
터미널에 다음 메시지가 표시됩니다.
명령 뒤에 --help
플래그를 추가하면 해당 명령의 모든 플래그를 확인할 수 있습니다.
터미널에 다음 메시지가 표시됩니다:
npm
이 플래그를 astro
명령에 전달하려면 플래그 앞에 추가 --
가 필요합니다.
package.json
스크립트
섹션 제목: package.json 스크립트이러한 명령의 더 짧은 버전에 package.json
의 스크립트를 사용할 수도 있습니다. 스크립트를 사용하면 npm run build
와 같이 다른 프로젝트에서 익숙할 수 있는 동일한 명령을 사용할 수 있습니다.
가장 일반적인 astro
명령 (astro dev
, astro build
, astro preview
)에 대한 다음 스크립트는 create astro
마법사 를 사용하여 프로젝트를 생성할 때 자동으로 추가됩니다.
Astro 수동 설치 지침을 따르면 이러한 스크립트를 직접 추가하라는 메시지가 표시됩니다. 자주 사용하는 명령에 대해 수동으로 이 목록에 더 많은 스크립트를 추가할 수도 있습니다.
플래그 없이 이러한 astro
명령이나 이를 실행하는 스크립트를 자주 사용하게 됩니다. 명령의 동작을 사용자 정의하려면 명령에 플래그를 추가하세요. 예를 들어, 다른 포트에서 개발 서버를 시작하거나 디버깅을 위해 자세한 로그를 사용하여 사이트를 구축할 수 있습니다.
astro dev
섹션 제목: astro devAstro의 개발 서버를 실행합니다. 이는 자산을 번들로 묶지 않는 로컬 HTTP 서버입니다. HMR (Hot Module Replacement)을 사용하여 편집기에 변경 사항을 저장할 때 브라우저를 업데이트합니다.
astro build
섹션 제목: astro build배포용 사이트를 빌드합니다. 기본적으로 이는 정적 파일을 생성하여 dist/
디렉터리에 저장합니다. SSR이 활성화된 경우, 사이트를 제공하는 데 필요한 서버 파일이 생성됩니다.
아래에 설명된 공통 플래그와 결합할 수 있습니다.
astro preview
섹션 제목: astro previewastro build
를 실행하여 생성된 정적 디렉터리 (기본적으로 dist/
)의 콘텐츠를 제공하기 위해 로컬 서버를 시작합니다.
이 명령을 사용하면 빌드 후 로컬에서 사이트를 미리 보고 배포하기 전에 빌드 출력에서 오류를 확인할 수 있습니다. 프로덕션 환경에서 실행되도록 설계되지 않았습니다. 프로덕션 호스팅에 대한 도움이 필요하면 Astro 웹사이트 배포 안내서를 확인하세요.
Astro 1.5.0부터 astro preview
는 이를 지원하는 어댑터를 사용하는 경우 SSR 빌드에서도 작동합니다. 현재는 Node 어댑터에서만 astro preview
를 지원합니다.
아래에 설명된 공통 플래그와 결합할 수 있습니다.
astro check
섹션 제목: astro check프로젝트에 대해 진단 (예: .astro
파일 내 타입 검사)을 실행하고 오류를 콘솔에 보고합니다. 오류가 발견되면 프로세스는 1 코드와 함께 종료됩니다.
이 명령은 CI 워크플로에서 사용하기 위한 것입니다.
플래그
명령의 동작을 사용자 정의하려면 이러한 플래그를 사용하세요.
--watch
섹션 제목: --watch이 명령은 프로젝트의 변경 사항을 감시하고 오류를 보고합니다.
--root <path-to-dir>
섹션 제목: --root <path-to-dir>check 명령을 실행할 다른 루트 디렉터리를 지정합니다. 기본적으로 현재 작업 디렉터리를 사용합니다.
--tsconfig <path-to-file>
섹션 제목: --tsconfig <path-to-file>수동으로 사용할 tsconfig.json
파일을 지정합니다. 제공되지 않은 경우 Astro는 구성을 찾으려고 시도하거나 프로젝트의 구성을 자동으로 추론합니다.
--minimumFailingSeverity <error|warning|hint>
섹션 제목: --minimumFailingSeverity <error|warning|hint>오류 코드와 함께 종료하는 데 필요한 최소 심각도를 지정합니다. 기본값은 error
입니다.
예를 들어 astro check --minimumFailingSeverity warning
실행 시, 경고가 감지되면 명령이 오류와 함께 종료됩니다.
--minimumSeverity <error|warning|hint>
섹션 제목: --minimumSeverity <error|warning|hint>출력할 최소 심각도를 지정합니다. 기본값은 hint
입니다.
예를 들어 astro check --minimumSeverity warning
을 실행하면 오류와 경고가 표시되지만 힌트는 표시되지 않습니다.
--preserveWatchOutput
섹션 제목: --preserveWatchOutput감시 모드에서 check 사이의 출력을 지우지 않도록 지정합니다.
--noSync
섹션 제목: --noSync프로젝트를 검사하기 전에 astro sync
를 실행하지 않도록 지정합니다.
astro sync
섹션 제목: astro sync
Added in:
astro@2.0.0
astro dev
, astro build
, astro check
를 실행하면 sync
명령도 실행됩니다.
모든 Astro 모듈에 대한 TypeScript 타입을 생성합니다. 이는 타입 추론을 위한 src/env.d.ts
파일을 설정하고 생성된 타입에 의존하는 기능에 대한 모듈을 정의합니다.
astro:content
콘텐츠 컬렉션 API를 위한 모듈astro:db
Astro DB를 위한 모듈- 실험적 Astro Env를 위한
astro:env
모듈 - Astro Actions를 위한
astro:actions
모듈
astro add
섹션 제목: astro add구성에 통합을 추가합니다. 통합 안내서에서 자세히 알아보세요.
astro docs
섹션 제목: astro docs터미널에서 직접 Astro 문서 웹사이트를 시작합니다.
astro info
섹션 제목: astro info현재 Astro 환경에 대한 유용한 정보를 보고합니다. 이슈를 열 때 정보를 제공하는 데 유용합니다.
Example output:
astro preferences
섹션 제목: astro preferencesastro preferences
명령으로 사용자 기본 설정을 관리하세요. 프로젝트에 참여하는 모든 사람의 동작을 변경하는 astro.config.mjs
파일과 달리 사용자 기본 설정은 개별 Astro 사용자에게만 적용됩니다.
사용자 기본 설정은 기본적으로 현재 프로젝트로 범위가 지정되며 로컬 .astro/settings.json
파일에 저장됩니다.
--global
플래그를 사용하면 현재 시스템의 모든 Astro 프로젝트에 사용자 기본 설정을 적용할 수도 있습니다. 전역 사용자 기본 설정은 운영 체제별 위치에 저장됩니다.
사용 가능한 기본 설정
devToolbar
— 브라우저에서 개발 툴바를 활성화하거나 비활성화합니다. (기본값:true
)checkUpdates
— Astro CLI에 대한 자동 업데이트 확인을 활성화 또는 비활성화합니다. (기본값:true
)
list
명령은 구성 가능한 모든 사용자 기본 설정의 현재 설정을 출력합니다. 또한 기계가 읽을 수 있는 --json
출력도 지원합니다.
터미널 출력 예시:
기본 설정 | 값 |
---|---|
devToolbar.enabled | true |
checkUpdates.enabled | true |
기본값을 enable
, disable
, 또는 reset
으로 설정할 수 있습니다.
예를 들어, 특정 Astro 프로젝트에서 devToolbar를 비활성화하려면:
현재 머신의 모든 Astro 프로젝트에서 devToolbar를 비활성화하려면:
devToolbar는 나중에 다음을 사용하여 활성화할 수 있습니다.
reset
명령은 기본 설정을 기본값으로 재설정합니다.
astro telemetry
섹션 제목: astro telemetry현재 CLI 사용자에 대한 원격 측정 구성을 설정합니다. 원격 측정은 Astro 팀에 Astro 기능이 가장 자주 사용되는 통찰력을 제공하는 익명 데이터입니다. 자세한 내용은 Astro의 원격 측정 페이지를 참조하세요.
다음 CLI 명령을 사용하여 원격 측정을 비활성화할 수 있습니다.
나중에 다음을 사용하여 원격 측정을 다시 활성화할 수 있습니다.
reset
명령은 원격 측정 데이터를 초기화합니다.
CI 스크립트에 astro telemetry disable
명령을 추가하거나 ASTRO_TELEMETRY_DISABLED
환경 변수를 설정하세요.
공통 플래그
섹션 제목: 공통 플래그--root <path>
섹션 제목: --root <path>프로젝트 루트의 경로를 지정합니다. 지정하지 않으면 현재 작업 디렉터리가 루트로 간주됩니다.
루트는 Astro 구성 파일을 찾는 데 사용됩니다.
--config <path>
섹션 제목: --config <path>프로젝트 루트를 기준으로 구성 파일의 경로를 지정합니다. 기본값은 astro.config.mjs
입니다. 구성 파일에 다른 이름을 사용하거나 구성 파일이 다른 폴더에 있는 경우 이 방법을 사용하세요.
--outDir <path>
섹션 제목: --outDir <path>
Added in:
astro@3.3.0
프로젝트에 대한 outDir
를 구성합니다. 이 플래그를 전달하면 astro.config.mjs
파일에 outDir
값이 있는 경우 이를 재정의합니다.
--site <url>
섹션 제목: --site <url>프로젝트에 대한 site
를 구성합니다. 이 플래그를 전달하면 astro.config.mjs
파일에 site
값이 있는 경우 이를 재정의합니다.
--base <pathname>
섹션 제목: --base <pathname>
Added in:
astro@1.4.1
프로젝트에 대한 base
를 구성합니다. 이 플래그를 전달하면 astro.config.mjs
파일에 base
값이 있는 경우 이를 재정의합니다.
--port <number>
섹션 제목: --port <number>개발 서버와 미리보기 서버를 실행할 포트를 지정합니다. 기본값은 4321
입니다.
--host [선택적 호스트 주소]
섹션 제목: --host [선택적 호스트 주소]개발 서버와 미리 보기 서버가 수신 대기해야 하는 네트워크 IP 주소 (예: localhost가 아닌 IP)를 설정합니다. 이는 개발 중 휴대폰과 같은 로컬 장치에서 프로젝트를 테스트하는 데 유용할 수 있습니다.
--host
— LAN 및 공용 주소를 포함한 모든 주소에서 수신--host <사용자 정의 주소>
—<사용자 정의 주소>
에 네트워크 IP 주소 노출
프로덕션 환경에서 개발 서버 및 미리보기 서버를 노출하기 위해 --host
플래그를 사용하지 마세요. 서버는 사이트를 개발하는 동안에만 로컬 사용을 위해 설계되었습니다.
--verbose
섹션 제목: --verbose문제를 디버깅할 때 유용한 자세한 로깅을 활성화합니다.
--silent
섹션 제목: --silent콘솔 출력 없이 서버를 실행하는 자동 로깅을 활성화합니다.
--open
섹션 제목: --open서버 시작 시 브라우저에서 앱을 자동으로 엽니다. 열려는 URL을 지정하기 위해 전체 URL 문자열 (예: --open http://example.com
) 또는 경로 이름 (예: --open /about
)을 전달할 수 있습니다.
전역 플래그
섹션 제목: 전역 플래그이 플래그를 사용하여 astro
CLI에 대한 정보를 얻으세요.
--version
섹션 제목: --versionAstro 버전 번호를 출력하고 종료합니다.
--help
섹션 제목: --help도움말 메시지를 출력하고 종료합니다.
고급 API (실험적 기능)
섹션 제목: 고급 API (실험적 기능)Astro를 실행할 때 더 많은 제어가 필요한 경우 "astro"
패키지는 프로그래밍 방식으로 CLI 명령을 실행하기 위해 API를 내보냅니다.
이러한 API는 실험적이며 API 시그니처가 변경될 수 있습니다. 모든 업데이트는 Astro 변경 로그에 언급되며 아래 정보는 항상 최신 정보를 표시합니다.
AstroInlineConfig
섹션 제목: AstroInlineConfigAstroInlineConfig
타입은 아래의 모든 명령 API에서 사용됩니다. 이는 사용자 Astro 구성 타입에서 확장됩니다.
configFile
섹션 제목: configFile타입: string | false
기본값: undefined
Astro 구성 파일의 사용자 정의 경로입니다.
이 값이 undefined이거나 (기본값) 설정되지 않은 경우 Astro는 root
를 기준으로 astro.config.(js,mjs,ts,mts)
파일을 검색하고 발견되면 구성 파일을 로드합니다.
상대 경로가 설정되면 root
옵션을 기반으로 확인됩니다.
구성 파일 로드를 비활성화하려면 false
로 설정하세요.
이 객체에 전달된 인라인 구성은 로드된 사용자 구성과 병합될 때 가장 높은 우선순위를 갖습니다.
mode
섹션 제목: mode타입: "development" | "production"
기본값: astro dev
를 실행할 때 "development"
, astro build
를 실행할 때 "production"
“development” 또는 “production” 코드를 생성하기 위해 사이트를 빌드할 때 사용되는 모드입니다.
logLevel
섹션 제목: logLevel타입: "debug" | "info" | "warn" | "error" | "silent"
기본값: "info"
Astro가 기록한 메시지를 필터링하는 로깅 수준입니다.
"debug"
: 자세한 디버깅 진단을 포함한 모든 것을 기록합니다."info"
: 정보 메시지, 경고, 오류를 기록합니다."warn"
: 경고 및 오류를 기록합니다."error"
: 오류만 기록합니다."silent"
: 아무것도 기록하지 않습니다.
dev()
섹션 제목: dev()타입: (inlineConfig: AstroInlineConfig) => Promise<DevServer>
astro dev
와 유사하게 Astro의 개발 서버를 실행합니다.
DevServer
섹션 제목: DevServeraddress
섹션 제목: address개발 서버가 수신 대기 중인 주소입니다.
이 속성에는 Node의 net.Server#address()
메서드가 반환한 값이 포함되어 있습니다.
handle()
섹션 제목: handle()원시 Node HTTP 요청에 대한 핸들입니다. 네트워크를 통해 요청을 보내는 대신 http.IncomingMessage
및 http.ServerResponse
를 사용하여 handle()
을 호출할 수 있습니다.
watcher
섹션 제목: watcherVite의 개발 서버에서 노출되는 Chokidar 파일 감시기입니다.
stop()
섹션 제목: stop()개발 서버를 중지합니다. 그러면 모든 유휴 연결이 닫히고 새 연결에 대한 수신이 중지됩니다.
보류 중인 모든 요청이 완료되고 모든 유휴 연결이 닫히면 해결되는 Promise
를 반환합니다.
build()
섹션 제목: build()타입: (inlineConfig: AstroInlineConfig) => Promise<void>
astro build
와 유사하게 배포용 사이트를 빌드합니다.
preview()
섹션 제목: preview()타입: (inlineConfig: AstroInlineConfig) => Promise<PreviewServer>
astro preview
와 유사하게 로컬 서버를 시작하여 빌드 출력을 제공합니다.
구성에 어댑터가 설정되어 있지 않으면 미리보기 서버는 빌드된 정적 파일만 제공합니다. 구성에 어댑터가 설정되어 있으면 어댑터에서 미리보기 서버를 제공합니다. 미리 보기 서버를 제공하기 위해 어댑터가 필요하지 않으므로, 선택한 어댑터에 따라 이 기능을 사용하지 못할 수도 있습니다.
PreviewServer
섹션 제목: PreviewServerhost
섹션 제목: host서버가 연결을 수신 대기 중인 호스트입니다.
어댑터는 이 필드를 설정하지 않은 상태로 둘 수 있습니다. host
값은 구현에 따라 다릅니다.
port
섹션 제목: port서버가 연결을 수신 대기 중인 포트입니다.
stop()
섹션 제목: stop()미리보기 서버를 닫고, 요청 수신을 중지하고, 유휴 연결을 삭제하도록 요청합니다.
반환된 Promise
은 닫기 요청이 전송되면 해결됩니다. 이것은 아직 서버가 닫혔다는 것을 의미하지 않습니다. 서버가 완전히 닫혔는지 확인하려면 closed()
메서드를 사용하세요.
closed()
섹션 제목: closed()서버가 닫히면 해결하고 서버에서 오류가 발생하면 거부하는 Promise
를 반환합니다.
sync()
섹션 제목: sync()타입: (inlineConfig: AstroInlineConfig) => Promise<void>
astro sync
와 유사하게 모든 Astro 모듈에 대해 TypeScript 타입을 생성합니다.
Astro Studio CLI
섹션 제목: Astro Studio CLIastro login
섹션 제목: astro loginAstro Studio로 인증합니다. 이는 astro link
를 포함한 모든 데이터베이스 관리 명령을 실행하는 데 필요합니다.
astro link
섹션 제목: astro linkStudio에서 호스팅하는 데이터베이스에 연결합니다. 데이터베이스 관리를 위해 Astro DB 명령을 실행하는 데 필요합니다. 데이터베이스를 연결하려면 기존 데이터베이스를 선택하거나 새 데이터베이스를 생성하라는 메시지가 표시됩니다.
astro logout
섹션 제목: astro logoutAstro Studio에서 로그아웃하고 로컬에 저장된 인증 키를 제거합니다.
Reference