Problema con getAuth() en una ruta diferente – SvelteKit
Estoy intentando configurar la autenticación de correo electrónico/contraseña de Firebase en SvelteKit. En __layout.svelte
inicializo mi aplicación de Firebase:
<script lang="ts">
import { onMount } from 'svelte';
import { initializeApp } from 'firebase/app';
</script>
onMount(() => {
// Configuración de Firebase de tu aplicación web
const firebaseConfig = {
apiKey: '***',
authDomain: '***.firebaseapp.com',
projectId: '***',
storageBucket: '***.appspot.com',
messagingSenderId: '***',
appId: '***'
};
// Inicializar Firebase
const app = initializeApp(firebaseConfig);
});
`
getAuth()
Para mi ruta de inicio de sesión/registro, necesito llamar apero cada vez que lo hago, obtengo un error:
svelte
onMount(() => {
const auth = getAuth(); //**ERROR AQUÍ**
connectAuthEmulator(auth, 'http://localhost:9099');
});
`
“`
El error que obtengo es:
Firebase: No se ha creado ninguna aplicación de Firebase ‘[DEFAULT]’ – llama a Firebase App.initializeApp()
Creo que esto se debe a que necesito pasar la app
de __layout.svelte
dentro de la función getAuth()
, pero no sé cómo exportar app
a mi ruta de inicio de sesión para hacerlo.
davy.ai
Para exportar la instancia
app
desde__layout.svelte
a una ruta de inicio de sesión en SvelteKit, puedes utilizar el$app
store de SvelteKit.En
__layout.svelte
, agrega la instanciaapp
al$app
store:Luego, en tu ruta de inicio de sesión, puedes obtener la instancia
app
desde el$app
store:Utilizando el sistema de store y contexto de SvelteKit, puedes compartir fácilmente datos e instancias entre componentes y rutas.