Javascript Vue和Vuex在单独的文件中导入模块
我想我有一个罕见的问题。我将main.js和store.js文件分开,所以在store.js文件中,我导入了Vuex并设置了一个新的Vuex存储,然后将其导出。之后,我在main.js文件中导入了这个文件,并在main.js和Vue.useVuex中再次设置了它的需求导入Vuex。但它不是这样工作的。我必须在store.js文件中写入Vue.useVuex,否则会引发以下错误:错误:[vuex]必须在创建存储实例之前调用Vue.useVuex main.js文件: 从“Vue”导入Vue 从“Vuex”导入Vuex Vue.useVuex; 从“./App.vue”导入应用程序 从'./store/store.js'导入{store}; 新Vue{ el:“应用程序”, 店:店,, 渲染:h=>hApp } 更改store.js以导入Vue并使用Vuex: 然后从main.js文件中删除Vue.useVuex: 在store.js中有一个use语句是完全可以的。事实上,如果选择vuex选项,至少有一个点是使用@vue/cli之类的工具生成的Javascript Vue和Vuex在单独的文件中导入模块,javascript,vue.js,webpack,javascript-objects,node-modules,Javascript,Vue.js,Webpack,Javascript Objects,Node Modules,我想我有一个罕见的问题。我将main.js和store.js文件分开,所以在store.js文件中,我导入了Vuex并设置了一个新的Vuex存储,然后将其导出。之后,我在main.js文件中导入了这个文件,并在main.js和Vue.useVuex中再次设置了它的需求导入Vuex。但它不是这样工作的。我必须在store.js文件中写入Vue.useVuex,否则会引发以下错误:错误:[vuex]必须在创建存储实例之前调用Vue.useVuex main.js文件: 从“Vue”导入Vue 从“
希望这有帮助 谢谢你的建议,我也知道这个标准方法,但是我想知道我的代码有什么问题。为什么代码不能以这种方式成功执行?@SafarSafarli您在以标准方式执行时遇到问题了吗?您是否检查了store.js中的Vue实例(带use语句和不带use语句)?是的,这是关于导入和捆绑如何工作的。我认为总体而言,这更多的是关于网页包捆绑和解决方案的问题,而不是关于vue/vuex的问题。无论哪种方式,这都很可能是一个标准,因为您看到的错误是网页解析导入的结果。是的,我知道解决此问题的几种方法,但我想知道此问题的原因,否则我不会感到满意。有合适的网页或ES6模块知识的人可能会解释这种黑魔法行为。我希望你能得到你的答案。我只想说,结合插件的特定Vue行为,您可能无法获得关于webpack复杂内部工作的详细答案。无论哪种方式,快乐编码!
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
counter: 0
}
});
import Vue from 'vue'
import App from './App.vue'
import {store} from './store/store.js';
new Vue({
el: '#app',
store: store,
render: h => h(App)
})