Есть два примера кода. Через импорт/экспорт цикл for of не работает, не записывает значения в переменную item, если в подключать в лоб, то работает. Почему?
Не работает
import clearChipCart from "./modules/cart/clearChipCartActive.js";
import itogCost from "./modules/cart/itogCost.js";
const itemsCart = document.querySelector(".items_container");
const cardRow = document.querySelector(".card_row");
let count;
async function cartProduct() {
//-------Генерация контента карточек через json------
const data = await fetch("./assortiment.json"); // Получаю json в виде промисса
const json = await data.json(); // Преобразую этот промисс в json
for (item of json) {
const cardHTML = `<div class="card_item" data-id="${item.id}">
<img
src="/source/popular/${item.img}"
alt=""
class="img_card_popular"
/>
<div class="sale"><span class="number_sale">${item.sale}</span></div>
<div class="card_text_container">
<div class="price_text_item">
<span class="price_card">${item.price}</span
><span class="sale_card">${item.old_price}</span>
</div>
<div class="card_description">
${item.description}
</div>
</div>
<div class="card_hover none">
<a data-cart href="#" class="btn_cart"
><img src="/source/icons/icons_menu/cart.svg" alt=""
/></a>
<a href="#" class="icon_favorite"
><img src="/source/popular/heart.svg" alt=""
/></a>
</div>
</div>`;
cardRow.insertAdjacentHTML("beforeend", cardHTML);
}
Такой вариант работает корректно
const itemsCart = document.querySelector(".items_container");
const cardRow = document.querySelector(".card_row");
let count;
async function cartProduct() {
//-------Генерация контента карточек через json------
const data = await fetch("./assortiment.json"); // Получаю json в виде промисса
const json = await data.json(); // Преобразую этот промисс в json
for (item of json) {
const cardHTML = `<div class="card_item" data-id="${item.id}">
<img
src="/source/popular/${item.img}"
alt=""
class="img_card_popular"
/>
<div class="sale"><span class="number_sale">${item.sale}</span></div>
<div class="card_text_container">
<div class="price_text_item">
<span class="price_card">${item.price}</span
><span class="sale_card">${item.old_price}</span>
</div>
<div class="card_description">
${item.description}
</div>
</div>
<div class="card_hover none">
<a data-cart href="#" class="btn_cart"
><img src="/source/icons/icons_menu/cart.svg" alt=""
/></a>
<a href="#" class="icon_favorite"
><img src="/source/popular/heart.svg" alt=""
/></a>
</div>
</div>`;
cardRow.insertAdjacentHTML("beforeend", cardHTML);
}