Estoy creando una aplicación Vue. Ahora, quiero agregar vuex a mi proyecto. Vuex se agregó con éxito, pero no puedo agregar una tienda vuex. Y cuando incluyo el script vuex:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { userData: "USER!" }, mutations: { }, actions: { }, getters: { } }) export default storeEstoy recibiendo un error:
Error de sintaxis no detectado: el módulo solicitado '/node_modules/.vite/vue.js?v=52de2cee' no proporciona una exportación denominada 'default'
principal.js
import { createApp } from 'vue' import App from './App.vue' import router from '@/router' const app = createApp(App) import Vuex from 'vuex' import { store } from '@/store/users' app.use(router) app.use(Vuex) app.mount('#app')¿Qué estoy haciendo mal? Muchas gracias.
El primer bloque de código que muestra es para Vue 2, que no funcionará en Vue 3. Y Vue 3 requiere Vuex 4.
Para configurar Vuex 4 en una aplicación Vue 3:
Instale Vuex 4:
npm i -S vuex@next Actualice la tienda para usar la API createStore de Vuex 4 (que crea un complemento para app.use() en el siguiente paso):
// @/store.js import { createStore } from 'vuex' export default createStore({ state: { userData: "USER!" }, mutations: { }, actions: { }, getters: { } }) Actualice el script principal para instalar la tienda con app.use() :
import { createApp } from 'vue' import store from '@/store' const app = createApp(App) app.use(store)