Как установить cookie в vuejs?

Какова наилучшая практика для настройки cookie в vuejs? Я использую SSR, поэтому, я думаю, я не могу использовать localStorage.

Какой лучший подход здесь?

Ответ 1

Вы можете использовать пакет vue-cookie или vue-cookies npm. Вы можете установить cookie в созданном методе.

created() {
   this.$cookie.set("keyName", keyValue, "expiring time")
}

Ответ 2

Вы также можете сделать это в плане JavaScript без использования расширений.

Допустим, вы хотите хранить токен с истечением 24 часов в xios POST response

axios.post('url', datatosend)
.then(function (response) {
   if(response.status == 200){
      let d = new Date();                
      d.setTime(d.getTime() + (1*24*60*60*1000));
      let expires = "expires="+ d.toUTCString();
      document.cookie = "Token=" + response.data.Token + ";" + expires + ";path=/";
     }
   })
.catch(function (error) {
     console.log(error);
});

Ответ 3

Используйте vue-cookies

Использовать:

<script src="https://unpkg.com/[email protected]/vue-cookies.js"></script>
<script>
  $cookies.set('cookie_name', 'cookie_value');
</script>

Ответ 4

было бы лучше использовать метод mounted

mounted: function() { 
    document.cookie = "username=John Doe";
}