javascript - Προσθήκη middleware σε σελίδα σε έργο nuxt-typescript


Δουλεύω σε ένα έργο nuxt-typescript. Το middleware μου στο /middleware/redirect.ts:

import { Middleware } from '@nuxt/types'

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

export default redirect

και προστέθηκε στη σελίδα index.veu έτσι:

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

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

αλλά δεν λειτουργεί και παίρνω σφάλμα. υπάρχει κάποια λύση;

Δυστυχώς, η τεκμηρίωση δεν είναι σαφής. κάντε κλικ

Απάντηση #1

Δεν χρειάζεται να εισάγετε ούτε να δώσετε ένα αντικείμενο σε αυτό, απλώς περάστε το όνομα όπως φαίνεται στην τεκμηρίωση: https://nuxtjs.org/docs/2.x/directory-structure/middleware#named-middleware

Αυτό θα πρέπει να είναι αρκετό

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

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