¿Se ocultará la clave API al usuario?
# $lib/config.js import { initializeApp } from 'firebase/app'; import { getFirestore } from "firebase/firestore/lite"; const firebaseConfig = { apiKey: "my-key", }; const app = initializeApp(firebaseConfig); export const db = getFirestore(app); #index.svelte import {db} from "$lib/config" db.get...and so onTratando de entender cómo lidiar con las cosas que desea mantener ocultas en sveltekit, ya que normalmente js es visible para el usuario si lo desea a través de la fuente.
Debe dividir su archivo index.svelte en 2 partes. Público y suministro de datos.
Por cierto: su sugerencia de código no funcionará porque el código no siempre se ejecutará en el servidor (SSR). No puede acceder a la base de datos en el navegador.
index.json.js , siempre se ejecuta en el servidor, donde puede autenticar al usuario y preparar los datos. (Lea más sobre puntos finales )
import {db} from "$lib/config" db.get...and so on index.svelte , donde carga datos preparados
<script context="module"> /** @type {import('@sveltejs/kit').Load} */ export async function load({ params, fetch, session, stuff }) { const url = `index.json`; const res = await fetch(url); if (res.ok) { return { props: { article: await res.json() } }; } return { status: res.status, error: new Error(`Could not load ${url}`) }; } </script>