Guía del marco: SvelteKit
Variables de entorno público vs privado
SvelteKit distingue explícitamente entre variables públicas (accesibles en el cliente) y privadas (solo servidor) a través de$env/static/public / $env/dynamic/public vs $env/static/private / $env/dynamic/private.
.env
createConvertStore/MarkpdfClient en un componente .svelte (código de cliente), solo puede pasarle una variable PUBLIC_*, y esa clave está expuesta en el paquete, como en cualquier SPA.
Patrón A: clave pública en el cliente (prototipos, herramientas internas)
Patrón B (recomendado): proxy con +server.ts
Mantenga la clave en el servidor y exponga su propio punto final:
src/routes/api/convert/+server.ts
createConvertStore no se aplica en el lado del cliente (no tiene sentido llamarlo contra su propio punto final a menos que también implemente el mismo contrato de progreso). Si necesita un progreso de carga real en su propio punto final, implemente el mismo patrón XMLHttpRequest que createConvertStore usa internamente, apuntando a /api/convert en lugar de API de markpdf.
Acciones de formulario como alternativa a +server.ts
Si el formulario de carga se encuentra en la misma página, una acción de formulario (+page.server.ts) es una alternativa sin necesidad de un punto final separado:
src/routes/convert/+page.server.ts
