【发布时间】:2021-01-27 15:03:00
【问题描述】:
我使用@nuxt/strapi 作为Strapi 的包装器,用于NuxtJS。
对于 Nuxt 中的 Vuex,我使用的是命名空间模块模式,所以我的结构看起来像这样的示例:
store
├── user.js
├── posts.js
└── index.js
在 Vue 项目中,我将导入 Vue、Vuex,也许是 Axios,然后创建一个商店实例 const store = new Vuex.Store(storeOptions) 并调度我的初始操作或从 store/index.js 内部进行一些 API 调用。
vue 项目中 index.js 的示例:
import Vuex from 'vuex';
import Vue from 'vue';
import user from './modules/user'
import posts from './modules/posts'
Vue.use(Vuex);
const storeOptions = { ... }
const store = new Vuex.Store(storeOptions)
if (user) {
...
store.dispatch('startPageLoading', 'store');
store.commit('SET_USER', user);
await store.dispatch("getSomeData");
...
}
但在 Nuxt 项目中,store 和 strapi 实例已经在 root_project/.nuxt/... 中创建。那么在store/index.js 中使用$strapi 和$store 的最佳方式是什么? $strapi 或 $store 在 store/index.js 中均不可用
【问题讨论】:
-
use .. $store inside store/index.js 是什么意思?
store/index.js已经是一家商店 -
如果我使用存储模块,我仍然需要在
store/index.js中执行类似store.dispatch("something")的操作 -
好吧……我猜不是。你能给我更多的背景说明吗
-
我已经用一些示例代码更新了这个问题。我的问题是我是否必须手动创建商店和 Strapi 实例,或者我可以以某种方式使用 Nuxt 在
.nuxt/...中已经为我创建的东西 -
请忽略
.nuxt文件夹,我们不应该更改其中的内容,因为里面有一些内部内容。
标签: vue.js nuxt.js vuex strapi nuxt-strapi