nuxt logo

문서 번역(비공식)

Nuxt.js
Version:v3.17

라이프사이클 훅

Nuxt는 훅을 사용하여 거의 모든 측면을 확장할 수 있는 강력한 훅 시스템을 제공합니다.

이것도 참고 guide > going-further > hooks

앱 훅 (런타임)

사용 가능한 모든 훅은 앱 소스 코드를 확인하세요.

HookArgumentsEnvironmentDescription
app:createdvueApp서버 & 클라이언트초기 vueApp 인스턴스가 생성될 때 호출됩니다.
app:errorerr서버 & 클라이언트치명적인 오류가 발생할 때 호출됩니다.
app:error:cleared{ redirect? }서버 & 클라이언트치명적인 오류가 발생할 때 호출됩니다.
vue:setup-서버 & 클라이언트Nuxt 루트의 설정이 초기화될 때 호출됩니다. 이 콜백은 동기적으로 실행되어야 합니다.
vue:errorerr, target, info서버 & 클라이언트vue 오류가 루트 컴포넌트로 전파될 때 호출됩니다. 자세히 알아보기.
app:renderedrenderContext서버SSR 렌더링이 완료되면 호출됩니다.
app:redirected-서버SSR 리디렉션 전에 호출됩니다.
app:beforeMountvueApp클라이언트앱을 마운트하기 전에 호출되며, 클라이언트 측에서만 호출됩니다.
app:mountedvueApp클라이언트Vue 앱이 브라우저에서 초기화되고 마운트될 때 호출됩니다.
app:suspense:resolveappComponent클라이언트Suspense 해결 이벤트에서 호출됩니다.
app:manifest:update{ id, timestamp }클라이언트앱의 새로운 버전이 감지되었을 때 호출됩니다.
app:data:refreshkeys?클라이언트refreshNuxtData가 호출될 때 호출됩니다.
link:prefetchto클라이언트<NuxtLink>가 프리페치될 때 관찰되면 호출됩니다.
page:startpageComponent?클라이언트NuxtPage 대기 이벤트 내의 Suspense에서 호출됩니다.
page:finishpageComponent?클라이언트NuxtPage 해결 이벤트 내의 Suspense에서 호출됩니다.
page:loading:start-클라이언트새 페이지의 setup()이 실행될 때 호출됩니다.
page:loading:end-클라이언트page:finish 후에 호출됩니다.
page:transition:finishpageComponent?클라이언트페이지 전환 후 onAfterLeave 이벤트에서 호출됩니다.
dev:ssr-logslogs클라이언트서버 측 로그 배열이 클라이언트로 전달될 때 호출됩니다 (features.devLogs가 활성화된 경우).
page:view-transition:starttransition클라이언트실험적 viewTransition 지원이 활성화된 경우 document.startViewTransition이 호출된 후 호출됩니다.

Nuxt 훅 (빌드 타임)

사용 가능한 모든 훅은 스키마 소스 코드를 확인하세요.

HookArgumentsDescription
kit:compatibilitycompatibility, issues호환성 검사를 확장할 수 있습니다.
readynuxtNuxt 초기화 후, Nuxt 인스턴스가 작업할 준비가 되었을 때 호출됩니다.
closenuxtNuxt 인스턴스가 정상적으로 종료될 때 호출됩니다.
restart{ hard?: boolean }현재 Nuxt 인스턴스를 재시작하기 위해 호출됩니다.
modules:before-Nuxt 초기화 중, 사용자 모듈 설치 전에 호출됩니다.
modules:done-Nuxt 초기화 중, 사용자 모듈 설치 후에 호출됩니다.
app:resolveappapp 인스턴스가 해결된 후 호출됩니다.
app:templatesappNuxtApp 생성 중, 빌드 디렉토리에 새로운 파일을 커스터마이징, 수정 또는 추가할 수 있도록 호출됩니다 (가상으로 또는 .nuxt에 작성).
app:templatesGeneratedapp템플릿이 가상 파일 시스템 (vfs)으로 컴파일된 후 호출됩니다.
build:before-Nuxt 번들 빌더 전에 호출됩니다.
build:done-Nuxt 번들 빌더가 완료된 후 호출됩니다.
build:manifestmanifestVite 및 webpack에 의해 매니페스트 빌드 중 호출됩니다. Nitro가 최종 HTML에서 <script><link> 태그를 렌더링하는 데 사용할 매니페스트를 커스터마이징할 수 있습니다.
builder:generateAppoptions앱을 생성하기 전에 호출됩니다.
builder:watchevent, path개발 중 빌드 타임에 프로젝트의 파일 또는 디렉토리에 변경 사항이 감지되면 호출됩니다.
pages:extendpages파일 시스템에서 페이지 경로가 스캔된 후 호출됩니다.
pages:resolvedpages페이지 경로가 스캔된 메타데이터로 보강된 후 호출됩니다.
pages:routerOptions{ files: Array<{ path: string, optional?: boolean }> }router.options 파일을 해결할 때 호출됩니다. 배열의 나중 항목이 이전 항목을 덮어씁니다.
server:devHandlerhandlerNitro 개발 서버에 개발 미들웨어가 등록될 때 호출됩니다.
imports:sourcespresets모듈이 소스를 확장할 수 있도록 설정 시 호출됩니다.
imports:extendimports모듈이 임포트를 확장할 수 있도록 설정 시 호출됩니다.
imports:contextcontextunimport 컨텍스트가 생성될 때 호출됩니다.
imports:dirsdirs임포트 디렉토리를 확장할 수 있습니다.
components:dirsdirsapp:resolve 내에서 호출되어 자동 임포트 가능한 컴포넌트를 스캔할 디렉토리를 확장할 수 있습니다.
components:extendcomponents새로운 컴포넌트를 확장할 수 있습니다.
nitro:confignitroConfigNitro 초기화 전에 호출되어 Nitro의 구성을 커스터마이징할 수 있습니다.
nitro:initnitroNitro가 초기화된 후 호출되어 Nitro 훅을 등록하고 Nitro와 직접 상호작용할 수 있습니다.
nitro:build:beforenitroNitro 인스턴스를 빌드하기 전에 호출됩니다.
nitro:build:public-assetsnitro공개 자산을 복사한 후 호출됩니다. Nitro 서버가 빌드되기 전에 공개 자산을 수정할 수 있습니다.
prerender:routesctx사전 렌더링할 경로를 확장할 수 있습니다.
build:errorerror빌드 타임에 오류가 발생할 때 호출됩니다.
prepare:typesoptions@nuxt/cli.nuxt/tsconfig.json.nuxt/nuxt.d.ts를 작성하기 전에 호출되어 nuxt.d.ts에 사용자 정의 참조 및 선언을 추가하거나 tsconfig.json의 옵션을 직접 수정할 수 있습니다.
listenlistenerServer, listener개발 서버가 로드될 때 호출됩니다.
schema:extendschemas기본 스키마를 확장할 수 있습니다.
schema:resolvedschema해결된 스키마를 확장할 수 있습니다.
schema:beforeWriteschema주어진 스키마를 작성하기 전에 호출됩니다.
schema:written-스키마가 작성된 후 호출됩니다.
vite:extendviteBuildContextVite 기본 컨텍스트를 확장할 수 있습니다.
vite:extendConfigviteInlineConfig, envVite 기본 구성을 확장할 수 있습니다.
vite:configResolvedviteInlineConfig, env해결된 Vite 구성을 읽을 수 있습니다.
vite:serverCreatedviteServer, envVite 서버가 생성될 때 호출됩니다.
vite:compiled-Vite 서버가 컴파일된 후 호출됩니다.
webpack:configwebpackConfigswebpack 컴파일러를 구성하기 전에 호출됩니다.
webpack:configResolvedwebpackConfigs해결된 webpack 구성을 읽을 수 있습니다.
webpack:compileoptions컴파일 직전에 호출됩니다.
webpack:compiledoptions리소스가 로드된 후 호출됩니다.
webpack:changeshortPathWebpackBar에서 change 시 호출됩니다.
webpack:error-WebpackBar에서 오류가 있을 때 done 시 호출됩니다.
webpack:done-WebpackBar에서 allDone 시 호출됩니다.
webpack:progressstatesArrayWebpackBar에서 progress 시 호출됩니다.

Nitro 앱 훅 (런타임, 서버 사이드)

사용 가능한 모든 훅은 Nitro를 참조하세요.

HookArgumentsDescriptionTypes
dev:ssr-logs{ path, logs }서버요청 사이클 끝에 서버 측 로그 배열과 함께 호출됩니다.
render:responseresponse, { event }응답을 보내기 전에 호출됩니다.response, event
render:htmlhtml, { event }HTML을 구성하기 전에 호출됩니다.html, event
render:islandislandResponse, { event, islandContext }아일랜드 HTML을 구성하기 전에 호출됩니다.islandResponse, event, islandContext
close-Nitro가 닫힐 때 호출됩니다.-
errorerror, { event? }오류가 발생할 때 호출됩니다.error, event
requestevent요청이 수신될 때 호출됩니다.event
beforeResponseevent, { body }응답을 보내기 전에 호출됩니다.event, unknown
afterResponseevent, { body }응답을 보낸 후에 호출됩니다.event, unknown