Как присвоить значение импортированной переменной?
Экспортирую переменную из одного файла (1) в другой (2), пытаюсь присвоить ей значение (3), и вылезает вот такая ошибка (4). Как это исправить?
export let token;import { token } from '../../scripts/common.js';token = data.payload;- TypeError: Cannot set property token of # which has only a getter
Вот весь код common.js
// проверка подключения к интернету
export let onlineStatus = navigator.onLine;
window.addEventListener("online", () => {
onlineStatus = true;
});
window.addEventListener("offline", () => {
onlineStatus = false;
});
// создание элемента
export function createEl({ tag = 'div', ...other }) {
checkData('tag', tag);
const el = document.createElement(tag);
const props = [];
for (const prop in el) {
props.push(prop);
}
// добавление свойств элементу
Object.entries(other).forEach(([key, value]) => {
if (key === 'classList') {
if (Array.isArray(value)) {
value.forEach(elClass => {
checkData(key, elClass);
el.classList.add(elClass);
})
}
else {
checkData(key, value);
el.classList.add(value);
}
}
else if (key === 'parent') {
checkData(key, value, 'object');
value.append(el);
}
else {
checkProp(key);
// checkData(key, value);
el[key] = value;
}
});
return el;
// функция проверки типа передаваемого значения
function checkData(key, value, dataType = 'string') {
if (typeof (value) === dataType) return true;
throw new TypeError(`значение свойства ${key} должно иметь тип ${dataType}`);
}
// функция проверки наличия свойства у элемента
function checkProp(key) {
if (props.includes(key)) return;
throw new Error(`у элемента ${tag} нет свойства ${key}`);
}
}
export const BACKEND = 'http://localhost:3000';
export let token;
Ответы (1 шт):
Автор решения: Andrey
→ Ссылка
А никак нельзя, оказалось что менять импортируемые переменные в JS невозможно