Проблема при импорте js-куки в Main.js - PullRequest
1 голос
/ 10 июня 2019

Я пытаюсь импортировать js-cookies в моем файле main.js

Main.js

import * as Cookies from "js-cookie";
Vue.use(Cookies)

Использованиев компоненте

 this.$Cookies.set('name', data.user, { secure: true });

Ошибка

TypeError: Cannot read property 'set' of undefined

В чем проблема?Я пробовал тысячу способов, и это все еще не работает.

Ответы [ 2 ]

2 голосов
/ 11 июня 2019

Vue.use(name) используется для установки vue-плагина. Для пакета потребуется метод установки, который получает экземпляр vue.

# 1 Вы можете использовать пакеты cookie без плагина, импортируя модуль в компонент

<script>
import  Cookies from 'js-cookie';
export default {
  methods: {
    addCookie() {
      console.log('adding the cookie');
      Cookies.set('chocolate', 'chookies');
      console.log(Cookies.get());
    }
  }
}
</script>

# 2 Вы можете добавить плагин VUE и установить функцию прототипа Cookies для модуля Cookies. (Функции прототипа vue будут доступны для компонентов, для них стандартным является префикс $).

ЦСИ / CookiesPlugin.js

import Cookies from 'js-cookie';

const CookiesPlugin = {
  install(Vue, options) {
    Vue.prototype.$Cookies = Cookies;
  }
};

export default CookiesPlugin;

ЦСИ / main.js

import CookiesPlugin from './CookiesPlugin';
Vue.use(CookiesPlugin);

В компоненте

this.$Cookies.set('chocolate', 'chookies');
console.log(this.$Cookies.get());
0 голосов
/ 11 июня 2019

Вы используете библиотеку NOT Vue (библиотека Vanilla JS) и пытаетесь использовать ее в качестве ресурса Vue.

Попробуйте использовать вместо этого

...