Я уже неоднократно использовал принятый ответ этой темы. Это отличный фрагмент кода: простой и удобный. Но я обычно использую babel и ES6 и модули, поэтому, если вы похожи на меня, вот код для копирования для более быстрого развития с ES6
Принятый ответ переписан как модуль с ES6:
export const createCookie = ({name, value, days}) => {
let expires;
if (days) {
let date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
} else {
expires = '';
}
document.cookie = name + '=' + value + expires + '; path=/';
};
export const getCookie = ({name}) => {
if (document.cookie.length > 0) {
let c_start = document.cookie.indexOf(name + '=');
if (c_start !== -1) {
c_start = c_start + name.length + 1;
let c_end = document.cookie.indexOf(';', c_start);
if (c_end === -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return '';
};
И после этого вы можете просто импортировать его как любой модуль (путь, конечно, может меняться):
import {createCookie, getCookie} from './../helpers/Cookie';