Vuex插件错误

时间:2017-04-25 07:01:32

标签: javascript vue.js vuejs2 vuex

const store = new Vuex.Store({
    state: {
        user: {
            userName:'',
            loggedInStatus: true,
            authToken: ''
        }
    },

    mutations: {
        addWebToken: function(state, webToken){
            state.user.authToken = webToken;
        },
        removeWebToken: function(state){
            state.user.authToken = '';
        }
    },
    methods:{
        getToken:function (){
            return  store.state.user.authToken;

        }
    },
    plugins: [createPersistedState()]

})

我已经包含了" vuex-persistedstate.js"但它在控制台中显示错误:

Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined
  at vuex-persistedstate.js:17

Uncaught ReferenceError: createPersistedState is not defined

当我按住Ctrl +单击createPersistedState()调用时,我可以导航到该文件。

1 个答案:

答案 0 :(得分:0)

vuex-persistedstate.js需要依赖于lodash和object-path。这个 vuex-persistedstate.js第17行的错误是缺少的lodash依赖项。 如果您已经添加了lodash,请确保它已加载到vuex-persistedstate模块中。

如果你真的想要使用普通的js。您必须定义window.merge = _.merge,并且必须使用正确的节点模块定义window.objectPath。您更愿意使用webpack正确使用此npm模块。

更多来源:https://github.com/robinvdvleuten/vuex-persistedstate/issues/23