Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

323
Views
¿Cómo usar isClient en Gridsome?

Estoy usando FirebaseUI con el complemento Gridsome y recibo el error ReferenceError: window is not defined . Esto se debe a que SSR y FirebaseUI deben llamar al objeto de ventana que solo está disponible en los navegadores.

Revisé la documentación de Gridsome y encontré process.isClient debería resolver el problema, pero no sé cómo debo implementarlo. Aquí está el código que probé:

 <script> import firebase from "@firebase/app"; import * as firebaseui from "firebaseui"; import "firebaseui/dist/firebaseui.css"; export default { name: "LoginSection", mounted() { if (process.isClient) { this.mountUi(); } }, methods: { mountUi() { let ui = firebaseui.auth.AuthUI.getInstance(); if (!ui) { ui = new firebaseui.auth.AuthUI(firebase.auth()); } const uiConfig = { signInSuccessUrl: "/profile", signInOptions: [ firebase.auth.FacebookAuthProvider.PROVIDER_ID, firebase.auth.GoogleAuthProvider.PROVIDER_ID, firebase.auth.EmailAuthProvider.PROVIDER_ID, ], }; ui.start("#firebaseui-auth-container", uiConfig); }, }, }; </script>
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

intente solicitar el paquete "firebaseui" en la declaración isClient

 <script> import firebase from "@firebase/app"; import "firebaseui/dist/firebaseui.css"; export default { name: "LoginSection", mounted() { if (process.isClient) { window.firebaseui = require("firebaseui") this.mountUi(); } }, methods: { mountUi() { let ui = firebaseui.auth.AuthUI.getInstance(); if (!ui) { ui = new firebaseui.auth.AuthUI(firebase.auth()); } const uiConfig = { signInSuccessUrl: "/profile", signInOptions: [ firebase.auth.FacebookAuthProvider.PROVIDER_ID, firebase.auth.GoogleAuthProvider.PROVIDER_ID, firebase.auth.EmailAuthProvider.PROVIDER_ID, ], }; ui.start("#firebaseui-auth-container", uiConfig); }, }, }; </script>
about 4 years ago · Juan Pablo Isaza Report

0

Resolví mi problema usando una importación dinámica en asíncrono. Aquí está mi código:

 <script> import firebase from "firebase/app"; import "firebaseui/dist/firebaseui.css"; export default { name: "LoginSection", async mounted() { const firebaseui = await import("firebaseui"); let ui = firebaseui.auth.AuthUI.getInstance(); if (!ui) { ui = new firebaseui.auth.AuthUI(firebase.auth()); } const uiConfig = { signInSuccessUrl: "/profile", signInOptions: [ firebase.auth.FacebookAuthProvider.PROVIDER_ID, firebase.auth.GoogleAuthProvider.PROVIDER_ID, firebase.auth.EmailAuthProvider.PROVIDER_ID, ], }; ui.start("#login-section", uiConfig); }, }; </script>

require("firebaseui") también funcionaría, pero es más recomendable usar import.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!