У меня есть 2 папки < /p>
client
server
< /code>
Внутри моей клиентской папки я использую булочку Bundler, чтобы связать мои сценарии и стили < /p>
probistex.html
< /code>
Когда я запускаю Bun Build Index.html, он будет автоматически объединить их в дистанционную папку, теперь я запутался, как сделать рендеринг на стороне сервера в папке моего сервера? Поскольку клиент Foldler просто для того, чтобы объединить мои активы
Вот что я сделал
server/src/index.ts
// server/src/index.ts
import { Elysia } from 'elysia';
import { staticPlugin } from '@elysiajs/static';
import { readFile } from 'node:fs/promises';
import path from 'node:path';
const app = new Elysia()
.use(staticPlugin({
prefix: '/static',
assets: path.join(__dirname, '..', '..', 'client', 'dist'), // Static files from client/dist
}))
.get('/', async () => {
// 1. Read the bundled index.html file
// Corrected path to client/dist/index.html from server/src/index.ts
const indexHTMLPath = path.join(__dirname, '..', '..', 'client', 'dist', 'index.html');
let indexHTML;
try {
indexHTML = await readFile(indexHTMLPath, 'utf-8');
} catch (error) {
console.error("Error reading index.html:", error);
return new Response("Error loading application", { status: 500 });
}
// 2. (Optional) Insert dynamic data here if needed
// 3. Return the index.html as the response
return new Response(indexHTML, {
headers: { 'Content-Type': 'text/html' },
});
})
.listen(3000);
console.log(`Elysia server started on port ${app.server?.port}`);
< /code>
это правильно для SSR? В основном я хочу, чтобы этот индекс. HTML в качестве отправной точки включали мои стили и сценарии из BUN на передней части, но я не хочу использовать React, но я хочу, чтобы мой веб -сайт сделал SSR с TSX в качестве шаблона>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ting-point
Как правильно сделать SSR с BUN и подавать index.html в качестве отправной точки? ⇐ Javascript
Форум по Javascript
1741782980
Anonymous
У меня есть 2 папки < /p>
client
server
< /code>
Внутри моей клиентской папки я использую булочку Bundler, чтобы связать мои сценарии и стили < /p>
probistex.html
< /code>
Когда я запускаю Bun Build Index.html, он будет автоматически объединить их в дистанционную папку, теперь я запутался, как сделать рендеринг на стороне сервера в папке моего сервера? Поскольку клиент Foldler просто для того, чтобы объединить мои активы
Вот что я сделал
server/src/index.ts
// server/src/index.ts
import { Elysia } from 'elysia';
import { staticPlugin } from '@elysiajs/static';
import { readFile } from 'node:fs/promises';
import path from 'node:path';
const app = new Elysia()
.use(staticPlugin({
prefix: '/static',
assets: path.join(__dirname, '..', '..', 'client', 'dist'), // Static files from client/dist
}))
.get('/', async () => {
// 1. Read the bundled index.html file
// Corrected path to client/dist/index.html from server/src/index.ts
const indexHTMLPath = path.join(__dirname, '..', '..', 'client', 'dist', 'index.html');
let indexHTML;
try {
indexHTML = await readFile(indexHTMLPath, 'utf-8');
} catch (error) {
console.error("Error reading index.html:", error);
return new Response("Error loading application", { status: 500 });
}
// 2. (Optional) Insert dynamic data here if needed
// 3. Return the index.html as the response
return new Response(indexHTML, {
headers: { 'Content-Type': 'text/html' },
});
})
.listen(3000);
console.log(`Elysia server started on port ${app.server?.port}`);
< /code>
это правильно для SSR? В основном я хочу, чтобы этот индекс. HTML в качестве отправной точки включали мои стили и сценарии из BUN на передней части, но я не хочу использовать React, но я хочу, чтобы мой веб -сайт сделал SSR с TSX в качестве шаблона>
Подробнее здесь: [url]https://stackoverflow.com/questions/79503620/how-to-properly-do-ssr-with-bun-and-serve-index-html-as-a-starting-point[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия