我正在使用nuxt.js在ie11中发生错误

时间:2019-04-11 04:30:11

标签: internet-explorer cookies nuxt.js nuxt

我现在正在使用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 :(得分:0)

我尝试检查您的代码和错误消息。

我发现您在代码中使用了“ =>” 箭头功能

enter image description here

enter image description here

Internet Explorer不支持箭头功能。因此出现语法错误。

参考文献:

(1)Arrow functions support

(2)Browser compatibility for Arrow functions

您可以尝试使用Babel解决IE的此问题。

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