Javascript ';无法读取属性';设置';未定义的';'的错误;这是$cookies.set';

Javascript ';无法读取属性';设置';未定义的';'的错误;这是$cookies.set';,javascript,vue.js,npm,vuejs3,vue-cookies,Javascript,Vue.js,Npm,Vuejs3,Vue Cookies,我正在尝试为我的Vue项目设置一些基本的cookie,但在尝试设置cookie时遇到了标题错误。根据package.json文件,我正在使用vue cookies版本^1.7.4。单击我的按钮制作cookie时,完整的错误消息如下所示: ncaught TypeError:无法读取未定义的属性“set” 位于Proxy.setCookie(VM6493 Register.vue:45) 在Object.onClick.\u缓存..\u缓存中。(Register.vue?db27:29) 调用时

我正在尝试为我的Vue项目设置一些基本的cookie,但在尝试设置cookie时遇到了标题错误。根据package.json文件,我正在使用vue cookies版本^1.7.4。单击我的按钮制作cookie时,完整的错误消息如下所示:

ncaught TypeError:无法读取未定义的属性“set”
位于Proxy.setCookie(VM6493 Register.vue:45)
在Object.onClick.\u缓存..\u缓存中。(Register.vue?db27:29)
调用时处理(runtime core.esm bundler.js?5c40:154)
调用时使用异步错误处理(runtime core.esm bundler.js?5c40:163)
在HTMLButtonElement.invoker(运行时dom.esm bundler.js?830f:333)
setCookie@VM6493寄存器。vue:45
Object.onClick.\u cache..\u cache.@Register.vue?db27:29
callWithErrorHandling@runtime core.esm bundler.js?5c40:154
callWithAsyncErrorHandling@runtime core.esm bundler.js?5c40:163

invoker@runtime dom.esm bundler.js?830f:333
显然,
vue cookie
模块不适用于vue 3,因为
install
函数使用vue 2版本
vue.prototype.$cookie
使其在所有组件中都可用
Vue.prototype
现在是Vue 3()中的
Vue.config.globalProperties
。这仍然是GitHub repo模块中的一个悬而未决的问题

如果您使用的是Vue 3,则需要转到
Vue cookies
节点模块并更改以下内容:

安装:功能(Vue){
Vue.prototype.$cookie=这个;
Vue.cookie=this;
},
为此:

安装:功能(Vue){
Vue.prototype?Vue.prototype.$cookies=this:Vue.config.globalProperties.$cookies=this;
Vue.cookie=this;
},

LittleWhiteLoti提供了这个修复程序,这一切都归功于他们:

复制并粘贴了原始帖子中的那一行,保存了它,重新启动了我的IDE,我仍然收到相同的错误。还收到一个
[Vue warn]:在执行本机事件处理程序时出现未处理的错误,单击cookie按钮时出现
错误。再次运行了Vue cookie的npm卸载和安装,但仍然收到相同的错误消息。如果重新安装包,您将遇到同样的问题,可能需要重写答案中的代码修复。我认为最好的办法是切换到另一个可以与Vue 3配合使用的模块。一个快速的谷歌搜索,也许这对你有用?