diff --git a/scripts/prerender.js b/scripts/prerender.js index bcc8282..316154e 100644 --- a/scripts/prerender.js +++ b/scripts/prerender.js @@ -1,69 +1,146 @@ -import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs'; -import { resolve, dirname } from 'path'; -import { fileURLToPath } from 'url'; +import { readFileSync, writeFileSync, mkdirSync, existsSync } from "fs"; +import { resolve, dirname } from "path"; +import { fileURLToPath } from "url"; +import { client } from "../src/api/client"; const __dirname = dirname(fileURLToPath(import.meta.url)); -// Список всех страниц -const routes = [ - '/', - '/products', - '/about', - // добавьте свои URL -]; +const products = async function getProducts() { + try { + console.log("📡 Загрузка товаров из API..."); + const response = await client.get("/productList/"); + return response.data; + } catch (error) { + console.error("❌ Ошибка загрузки из API:", error.message); + console.log("📦 Использую тестовые данные..."); + } +}; -const distPath = resolve(__dirname, '../dist'); -const indexHtmlPath = resolve(distPath, 'index.html'); +const distPath = resolve(__dirname, "../dist"); +const indexHtmlPath = resolve(distPath, "index.html"); if (!existsSync(indexHtmlPath)) { - console.error('❌ Сначала запустите npm run build'); + console.error("❌ Сначала запустите npm run build"); process.exit(1); } // Читаем исходный HTML -let baseHtml = readFileSync(indexHtmlPath, 'utf-8'); +let baseHtml = readFileSync(indexHtmlPath, "utf-8"); // Добавляем базовые мета-теги для каждой страницы -const pages = { - '/': { - title: 'Магазин труб - Главная', - description: 'Купить канализационные трубы по низким ценам' +const pages = [ + { + path: "/", + title: "Магазин труб - Главная", + description: + "Купить канализационные трубы, фитинги и комплектующие по низким ценам.", }, - '/products': { - title: 'Каталог труб для канализации', - description: 'Широкий выбор труб, фитингов и комплектующих' + { + path: "/products", + title: "Каталог труб и фитингов для канализации", + description: + "Широкий выбор канализационных труб ПВХ, фитингов, тройников, переходов, колен. Высокое качество, низкие цены.", }, - '/about': { - title: 'О магазине труб', - description: 'Информация о нашей компании' - } -}; + { + path: "/about", + title: "О магазине труб - Доставка и гарантия", + description: + "Информация о нашей компании. Как мы работаем, условия доставки, гарантия на все товары.", + }, +]; -routes.forEach(route => { - const pageInfo = pages[route] || pages['/']; - - // Заменяем мета-теги в HTML - let html = baseHtml - .replace(/