Я использую nuxt.js Произошла ошибка в ie11 - PullRequest
0 голосов
/ 11 апреля 2019

Я сейчас использую nuxt.js. но получил ошибку в ie11.

сначала я использую режим vuetify и nuxt.js SSR (pwa).

IE11 возникает следующая ошибка.

это моя ошибка https://i.imgur.com/mpkuXyN.png

И я использую следующий модуль.

import Cookies from 'universal-cookie'
import CookieParser from 'cookieparser'

и мой код Я начинающий разработчик, и код может показаться странным.

auth middleware
 export default function ({ store, redirect, error }) {
   if (!store.state.auth || store.state.error) {
     return redirect('/login')
   }
 }
login.vue [The part that uses cookies]

  methods: {
    async Login (email, password) {
      await this.$store.dispatch('obtainToken', { email: email, password: password })
        .then((response) => {
          // login success
          let cookies = new Cookies()
          let jwt = cookies.get('jwt')
          if (jwt) {
            this.$router.push(this.$route.query.redirect || '/')
          } else {
            this.login_false = true
          }
        })
     }
  }
index.vue [The part that uses cookies]

  async asyncData ({ req, store, params, context }, callback) {
    let cookies = new Cookies()
    let jwt = cookies.get('jwt')
    if (jwt) {
      let [mainData] = await Promise.all([
        axios.get('/api/profile/view', { headers: { Authorization: `Bearer ${jwt}` } })
      ])
      store.dispatch('setuserData', mainData.data)
      callback(null, { data: mainData.data })
    } else {
      let cookies = CookieParser.parse(req.headers.cookie)
      let jwt = cookies.jwt
      let [mainData] = await Promise.all([
        axios.get('/api/profile/view', { headers: { Authorization: `Bearer ${jwt}` } })
      ])
      store.dispatch('setuserData', mainData.data)
      callback(null, { data: mainData.data })
    }
  },
nuxt.config.js

  build: {
    analyze: {
      analyzerMode: 'static'
    },
    plugins: [
      new webpack.ProvidePlugin({
        '$': 'jquery',
        jQuery: 'jquery'
      })
    ],
    extractCSS: true,
    watch:['api'],
    vendor:['babel-polyfill', '@johmun/vue-tags-input'],
    extend (config, ctx) {
      // Run ESLint on save
      if (ctx.isDev && ctx.isClient && process.env.NODE_ENV !== 'production') {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/,
          options: {
            fix: true
          }
        })
      }
      if (ctx.isServer) {
        config.externals = [
          nodeExternals({
            whitelist: [/^vuetify/]
          })
        ]
      }
    }
  },

что не так с моим кодом? или это проблема модуля? пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 12 апреля 2019

Я пытаюсь проверить ваш код и сообщение об ошибке.

Я обнаружил, что вы используете "=>" Функции стрелок в вашем коде.

enter image description here

enter image description here

Функции стрелок не поддерживаются в Internet Explorer.поэтому он дает синтаксическую ошибку.

Ссылки:

(1) Поддержка функций стрелок

(2) Совместимость браузера для функций стрелок

Вы можете попробовать использовать Babel для решения этой проблемы для IE.

(3) babel-plugin-transform-es2015-arrow-functions

...