我目前正在开发 Vue 3 + TypeScript 项目。我想使用 Vuex 进行简单的登录管理。但是当我创建时store.ts
,我收到了这个错误:
Module '"../../vuex"' has no exported member 'createStore'.
我的store.ts
样子是这样的:
import { createStore } from "vuex";
export default createStore({
state: {
loggedIn: false,
},
mutations: {
logIn(state) {
state.loggedIn = true;
},
logOut(state) {
state.loggedIn = false;
},
},
actions: {},
modules: {},
});
我尝试过使用 Vuex@3 和 Vuex@next(又名 Vuex@4)。两者都有这个错误。我还尝试使用以下方法清除缓存:
npm cache clear --force
...并重新安装所有节点模块。包括安装 Vuex:
vue add vuex
准确地说,我也使用过这个:
npm i --save vuex@next
我总是遇到同样的错误。
我的package.json
:
{
"name": "fancy-project",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.6.5",
"register-service-worker": "^1.7.1",
"vue": "^3.0.0",
"vue-router": "^4.0.0-0",
"vuex": "^4.0.2"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-pwa": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-typescript": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/compiler-sfc": "^3.0.0",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^7.0.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.0.0",
"prettier": "^2.2.1",
"sass": "^1.26.5",
"sass-loader": "^8.0.2",
"typescript": "~4.1.5"
}
}
默认值,vue-cli main.ts
:
import { createApp } from "vue";
import App from "./App.vue";
import "./registerServiceWorker";
import router from "./router";
import store from "./store";
createApp(App).use(store).use(router).mount("#app");