Экспорт Nuxt вызывает nuxtServerInit много раз - PullRequest
0 голосов
/ 11 июля 2020

это следующий вопрос от Vuex заполняет данные из вызова API в начале .

Я успешно запустил nuxtServerInit для глобальной инициализации своего хранилища vuex. Однако при регистрации моего index. js в папке хранилища я понял, что он запускает эту строку много раз (я динамически генерирую свои маршруты, универсальный режим и целевую статистику c), то есть он запускается nuxtServerinit для каждого сгенерированного маршрута.

store / index. js

export const actions = {
    async nuxtServerInit({ commit }, { req }) {
        // fetch your backend     
        const db = require("~/plugins/firebase.js").db;
        let doc = await db.collection("temp").doc("all_deals1").get();
        let data = doc.data();
        commit('set', data.deals_array);
        console.log("prepopulated data"); // this log is logging once for every _slug
    }
}

_slug. vue

<script>
// import { mapGetters } from "vuex";

export default {
  async fetch({ store, params }) {
    // let deals_array = store.state.list;
    console.log("params: ", params); // params is being loaded many times as well
    // console.log("store: ", store.state.list);

    // get 
  },
  // computed: {
  //   ...mapGetters({
  //     // map `this.doneCount` to `this.$store.getters.doneTodosCount`
  //     doneCount: "allDeals"
  //   })
  // }
};
</script>

При запуске npx nuxt export. Кажется, для каждого компонента slug. vue запускается nuxtServerInit, что приводит к множеству дублированных nuxtServerInit, когда я динамически создаю много _slug. vue компонентов.

Мне интересно, не допустил ли я ошибок по пути или что-то упустил.

PS: работает npx nuxt отлично работает и заполняет nuxtServerInit только один раз, но проблема возникает только с npx nuxt export

Изменить: я понимаю, что это может быть поведение по умолчанию, поэтому могу ли я спросить, есть ли какие-либо способы обойти это? (https://github.com/nuxt/nuxt.js/issues/3935)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...