Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
Cargue JS desde node_modules en el montaje del componente

Estoy usando CodeMirror para crear un editor en mi sitio web docusaurus, y para usar CodeMirror, debe incluir algunos archivos del paquete en sí, que se ve así:

 import { UnControlled as CodeMirror } from "react-codemirror2"; import "codemirror/lib/codemirror.css"; import "codemirror/mode/javascript/javascript";

El problema es la tercera línea, donde importo el modo Javascript para espejo de código. En ese archivo, hay referencias a las API específicas del navegador ( navigator ), por lo que cuando intento construir el sitio web de Docusaurus, intenta construir estáticamente todo el sitio y falla diciendo

ReferenceError: navigator is not defined

Obviamente, dado que eso no es una cosa en node. El sitio web funciona bien en modo de desarrollo por cierto...

Entonces, lo que quiero hacer es NO cargar este archivo durante la construcción estática del sitio web, sino solo cargar ese archivo en el montaje del componente. Esto es lo que probé:

 useEffect(() => { import("codemirror/mode/javascript/javascript"); }, []);

Eso no funcionó.

¿Cómo puedo cargar este archivo, solo en el navegador y solo una vez que se procesa el componente?

Editar : también intenté usar el <BrowserOnly/> que viene con docusaurus, pero tampoco funcionó, todavía mostraba el mismo error:

 <BrowserOnly> <Repl /> </BrowserOnly>

Resuelto:
Obtuve la respuesta de un comentario de problema de Github :

 import React, { useEffect } from "react"; import { UnControlled as CodeMirror } from "react-codemirror2"; if (typeof window !== "undefined") { require("codemirror/lib/codemirror.css"); require("codemirror/mode/javascript/javascript"); }
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda