Pesquisa de site

javascript - Adicionar middleware à página em projeto nuxt-typescript


Estou trabalhando em um projeto Nuxt-TypeScript. Meu middleware em /middleware/redirect.ts:

import { Middleware } from '@nuxt/types'

const redirect: Middleware = (context) => {
  console.log(context)
}

export default redirect

e adicionado à página index.veu assim:

<script lang="ts">
import Vue from 'vue'
import redirect from '~/middleware/redirect'

export default Vue.extend({
  middleware: [redirect],
  data () {
    return {}
  }
})
</script>

mas não funciona e eu recebo um erro. alguma solução?

infelizmente, a documentação não está clara. clique

Resposta #1

Você não precisa importar nem fornecer um objeto para ele, basta passar o nome como mostrado na documentação: https://nuxtjs.org/docs/2.x/directory-structure/middleware#named-middleware

Isso deve ser suficiente

<script lang="ts">
import Vue from 'vue'

export default Vue.extend({
  middleware: 'redirect',
  data () {
    return {}
  }
})
</script>