nuxt logo

문서 번역(비공식)

abortNavigation

abortNavigation은 탐색을 방지하고 매개변수로 설정된 오류가 있을 경우 오류를 발생시키는 헬퍼 함수입니다.

abortNavigation경로 미들웨어 핸들러 내에서만 사용할 수 있습니다.

Type

abortNavigation(err?: Error | string): false

Parameters

err

  • Type: Error | string

    abortNavigation에 의해 발생할 선택적 오류입니다.

Examples

아래 예제는 abortNavigation을 경로 미들웨어에서 사용하여 권한이 없는 경로 접근을 방지하는 방법을 보여줍니다:

middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
  const user = useState('user')

  if (!user.value.isAuthorized) {
    return abortNavigation()
  }

  if (to.path !== '/edit-post') {
    return navigateTo('/edit-post')
  }
})

err as a String

오류를 문자열로 전달할 수 있습니다:

middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
  const user = useState('user')

  if (!user.value.isAuthorized) {
    return abortNavigation('권한이 부족합니다.')
  }
})

err as an Error Object

오류를 Error 객체로 전달할 수 있습니다. 예를 들어 catch 블록에서 잡힌 경우:

middleware/auth.ts
export default defineNuxtRouteMiddleware((to, from) => {
  try {
    /* 오류를 발생시킬 수 있는 코드 */
  } catch (err) {
    return abortNavigation(err)
  }
})