Nuxt. js - Ax ios вылетает с 'Превышен максимальный размер стека вызовов' - PullRequest
2 голосов
/ 04 февраля 2020

Я создаю веб-сайт с использованием Nuxt Frontend + Node Backend.

В настоящее время я реализовал nuxtServerInit код внутри файла хранилища Vuex.

Кажется, что веб работает без ошибок, но часто происходит сбой со следующей ошибкой, приведенной ниже ...

 WARN  Cannot stringify a function transformRequest                                                                                                                                               21:59:08


 WARN  Cannot stringify a function transformResponse                                                                                                                                              21:59:08


 WARN  Cannot stringify a function httpAdapter                                                                                                                                                    21:59:08


 WARN  Cannot stringify a function validateStatus                                                                                                                                                 21:59:08


 WARN  Cannot stringify arbitrary non-POJOs ClientRequest                                                                                                                                         21:59:08


 WARN  Cannot stringify a function    

Я искал причину этой проблемы уже несколько дней назад, agao, и я подумал, что причиной может быть использование context.app.$axios и this.$axios в одном файле Vuex, как показано ниже.

export const actions = {
  async nuxtServerInit(vuexContext, context) {
    const postsArray = []
    const data = await context.app.$axios.$get(
      process.env.DEV_URL + '/articles/top-five-views'
    )

    for (const key in data.postings) {
      postsArray.push({ ...data.postings[key], id: key })
    }

    return vuexContext.commit('setTopFivePosts', postsArray)
  },
  async getArticles(vuexContext, context) {
    const articles = []
    const data = await this.$axios.$get(
      process.env.DEV_URL + '/articles/popular'
    )

    for (const key in data.postings) {
      articles.push({ ...data.postings[key], id: key })
    }
    return vuexContext.commit('getArticles', articles)
  }
}

Должен ли я использовать this.$axios вместо context.app.$axios ?? Если я должен, в чем разница между этими двумя? (Потому что я чувствую, что this также указывает на context.app ...)

Спасибо за вашу помощь:)

...