text: import Vue from 'vue'
  import NuxtChild from './nuxt-child'
  import NuxtError from '<%= components.ErrorPage ? ((components.ErrorPage.includes('~') || components.ErrorPage.includes('@')) ? components.ErrorPage : "../" + components.ErrorPage) : "./nuxt-error.vue" %>'
  import { compile } from '../utils'
  
  export default {
    name: 'nuxt',
    props: ['nuxtChildKey'],
    render(h) {
      if (this.nuxt._redirected) {
        return h('div', [ '<%= messages.redirect %>' ])
      }
      // If there is some error
      if (this.nuxt.err) {
        return h('nuxt-error', {
          props: {
            error: this.nuxt.err
          }
        })
      }
      // Directly return nuxt child
      return h('nuxt-child', {
        key: this.routerViewKey
      })
    },
    beforeCreate () {
      Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)
    },
    computed: {
      routerViewKey () {
        // If nuxtChildKey prop is given or current route has children
        if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {
          return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)
        }
        const Component = this.$route.matched[0] && this.$route.matched[0].components.default
        if (Component && Component.options && Component.options.key) {
          return (typeof Component.options.key === 'function' ? Component.options.key(this.$route) : Component.options.key)
        }
        return this.$route.path
      }
    },
    components: {
      NuxtChild,
      NuxtError
    }
  }
  