Короче как-то так
https://svelte.dev/repl/4a9c01b0507e4dbdbc88de2251ab32a0?version=4.2.1
Всем привет, не могу разобраться с какой то очевидной вещью. У меня +layout.server.js в самом начале там получаю данные из БД. Они пробрасываются в дочерние страницы. То есть я могу юзать эти данные на каждой странице приложения. В браузере данные есть.Но не понимаю, как эти данные получать в функциях load в дочерних папках в файлах +page.server.js. Мне надо на основе этих данных делать другие запросы к БД, а в функцию лоад приходит только slug из params, видимо я что то упускаю. Документацию пытаюсь читать, но пока не понимаю.
Читать полностью…Пожалуйста, учтите, что этот метод зависит от конкретной структуры и конфигурации вашего сервера и приложения. Это всего лишь общий подход, который может потребовать дополнительной адаптации в зависимости от вашего окружения.
Читать полностью…Используйте порт в вашем SvelteKit коде. Теперь, когда порт установлен в вашем хранилище порта, вы можете извлекать его в любой части вашего серверного кода.
Читать полностью…Инициализируйте порт при старте сервера. Когда сервер запускается (обычно это файл server.js
или что-то подобное в зависимости от вашей конфигурации), установите порт в вашем хранилище порта.
Любопытства ради загнал вопрос ChatGPT. Синтетический разум выдал следующее решение: Если вы не можете установить порт заранее и у вас нет доступа к объекту запроса, вам потребуется некоторое косвенное решение.
Одним из способов может быть использование глобальной переменной или модуля на уровне сервера, который инициализируется один раз при старте сервера.
Вот шаги, которые вы можете предпринять:
Создайте модуль для хранения порта. Этот модуль будет просто экспортировать объект, который можно будет использовать для хранения и извлечения порта
Возможно и сейчас что-то толковое для vite появилось, я 8 мес отсутствовал в фронте, пришлось в девопс отклониться... Надо изучать. Но 8 мес назад, Мишино решение мне больше всего подошло
Читать полностью…может не понятно вопрос задал. в папке ../[slug] два файл +page.svelte и +page.server.js В первом файле <script>
export let data;
console.log(data)
</script> и в переменной data есть массив с данными с корневого +layout.server.js Вопрос такой - как этот массив с данными заюзать в файле ../[slug]/+page.server.js не запрашивая их снова с базы данных?
import { getPort } from './portStore.js';
const port = getPort();
console.log("Текущий порт:", port);
import { setPort } from './portStore.js';
const server = app.listen(0, () => { // Этот код автоматически выберет свободный порт
const usedPort = server.address().port;
setPort(usedPort);
console.log(`Server started on port ${usedPort}`);
});
// portStore.js
let port;
export function setPort(p) {
port = p;
}
export function getPort() {
return port;
}
А кто знает как из Кита получить текущий порт?
Условия:
1. нет доступа к запросу (инициализация в хуке, но не в ручке).
2. нельзя поставить порт заранее.