From 13cd50acc824ea745bd72a3b38504c2b1cb4c147 Mon Sep 17 00:00:00 2001 From: Primakov Alexandr Alexandrovich Date: Fri, 24 Oct 2025 11:37:30 +0300 Subject: [PATCH] Update SSR rendering to use index.ejs as template. Enhanced jsdom setup for Server-Side Rendering by reading from the EJS template, improving the DOM environment configuration. --- scripts/ssr-render.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/ssr-render.js b/scripts/ssr-render.js index 267bd5a..100451b 100644 --- a/scripts/ssr-render.js +++ b/scripts/ssr-render.js @@ -20,15 +20,17 @@ const { renderToString } = require('react-dom/server'); const { JSDOM } = require('jsdom'); const { createCanvas } = require('canvas'); -// Настройка полноценного DOM окружения через jsdom -const dom = new JSDOM('', { +// Читаем index.ejs как основу для SSR +const ejsTemplatePath = path.resolve(__dirname, '../src/index.ejs'); +const ejsTemplate = fs.readFileSync(ejsTemplatePath, 'utf-8'); + +// Настройка полноценного DOM окружения через jsdom на основе index.ejs +const dom = new JSDOM(ejsTemplate, { url: 'http://localhost', pretendToBeVisual: true, resources: 'usable' }); -const canvas = createCanvas(200, 200); - // Расширяем jsdom canvas поддержкой dom.window.HTMLCanvasElement.prototype.getContext = function() { return createCanvas(200, 200).getContext('2d');