vue.js - 将商店导入 vuejs nuxt 项目
问题描述
我正在尝试为我的 Vue.js(Nuxt) 项目编写一个简单的插件。我在Vue 插件中看到了这篇文章,将突变添加到 Vuex 商店,但仍然无法使其正常工作。
这是我的应用程序结构。
~ is root
~/plugins/HTTP/index.js
~/plugins/HTTP/_store/ => index.js, actions.js, getters.js, mutations.js
~/plugins/HTTP/_api/ => index.js
**Global Store**
~/store/index.js
~/store/modules/
~/store/modules/testing => index.js, actions.js, getters.js, mutations.js
在我的~/plugins/HTTP/index.js
,我有以下代码
import Vue from 'vue';
import store from '~/store';
const HTTP = {
install(vue, { store }){ // Now you plugin depend on store
if(!store){
throw new Error('Please provide vuex plugin.')
}
// register your own vuex module
store.registerModule({store})
}
}
export default HTTP;
Vue.use(HTTP)
在我的~/store/index.js
我有以下代码:
import Vuex from 'vuex'
import testingModule from './modules/testing'
const state = () => {
return new Vuex.Store({
modules:{
testing: testingModule
}
})
}
export default state
当我尝试运行它时,它给了我以下消息:
Cannot destructure property `store` of 'undefined' or 'null'.
我在这里做错了什么?
解决方案
您没有传递任何属性,因此错误是正确的。options
当你告诉它时你需要传入一个对象use
。它可以是空的,但它需要一个对象。
import Vue from 'vue';
import store from '~/store';
const HTTP = {
install(vue, { store }){ // Now you plugin depend on store
if(!store){
throw new Error('Please provide vuex plugin.')
}
// register your own vuex module
store.registerModule({store})
}
}
export default HTTP;
Vue.use(HTTP, {}) // <---------- Empty object to avoid allow destructuring.
推荐阅读
- regex - 在正则表达式中添加子正则表达式以匹配第一个管道后的文本
- c++ - 在c中没有strcpy的情况下将char数组复制到另一个
- c# - WPF 多屏幕 - 当 WorkingArea.Left 为负值时,无法在辅助监视器上定位窗口
- html - 在 HTML 中定义一个 SVG,但使用它就像通过带有 url 的 background-image 直接包含在 CSS 中一样
- r - 在 R 中用均值替换异常值时的问题
- kubernetes - Kube-apiserver 无法从添加到 ApiServer POD 清单的自定义卷中读取
- python - 使用数组/元组在图形循环中创建垂直线
- c++ - 使用 char 数组块作为内存输出操作数的内联汇编
- tensorflow - 使用 MPI 的 Horovod,在 kubernetes 上
- python - Numpy 计算,寻找漂亮的代码