Я пытаюсь понять, почему руководство Netlify CMS Nuxt решило реализовать способ, которым они это сделали:
Заполнение хранилища всеми сообщениями в блоге в nuxtServerInit ():
export const state = () => ({
blogPosts: [],
});
export const mutations = {
setBlogPosts(state, list) {
state.blogPosts = list;
},
};
export const actions = {
async nuxtServerInit({ commit }) {
let files = await require.context('~/assets/content/blog/', false, /\.json$/);
let blogPosts = files.keys().map(key => {
let res = fi
les(key);
res.slug = key.slice(2, -5);
return res;
});
await commit('setBlogPosts', blogPosts);
},
};
Используя хранилище, которое они только что заполнили, чтобы заполнить страницу "индекса блога":
export default {
computed: {
blogPosts() {
return this.$store.state.blogPosts;
},
},
};
, но затем не использовали хранилище на отдельных страницах блога, вместо этого использовали require:
export default {
async asyncData({ params, payload }) {
if (payload) return { blogPost: payload };
else
return {
blogPost: await require(`~/assets/content/blog/${params.blog}.json`),
};
},
};
Быстрее ли используется требование на отдельных страницах блога? Почему вы не могли просто пройти через магазин oop (при условии, что в блоге не так много постов) и найти то, что вам нужно?
Возможно, это тривиально, но поскольку Netlify написал это таким образом, я Я полагаю, что есть веская причина.
Это связано с Webpack, или больше с Vue и Vuex, или с Nuxt?