Nuxt导出会多次调用nuxtServerInit

时间:2020-07-11 04:49:45

标签: vue.js vuex nuxt.js

这是Vuex populate data from API call at the start的后续问题。

我已成功运行nuxtServerInit来全局初始化vuex存储。但是,在将我的 index.js 记录在商店文件夹中时,我意识到它正在多次运行此行(我正在动态生成路线,通用模式和目标静态),即它运行{{1} }生成的每条路线。

store / index.js

nuxtServerinit

_slug.vue

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
    }
}

在运行<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> 时, 似乎对于每个 slug.vue 组件,npx nuxt export都在运行,这在我动态创建许多_slug.vue组件时会导致许多重复的nuxtServerInit

我想知道我是否在此过程中犯了任何错误或遗漏了一些东西。

PS:运行nuxtServerInit可以正常工作,并且只能填充npx nuxt一次,但是问题仅发生在nuxtServerInit

编辑:我知道这可能是默认行为,所以请问是否有任何可行的方法? (https://github.com/nuxt/nuxt.js/issues/3935

0 个答案:

没有答案