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

155
Visualizações
¿Por qué mi archivo JS externo no se carga en ReactJS?

Por mi vida, no puedo entender por qué este archivo JS externo no se está cargando. Intenté todas las preguntas de ayuda que existen y todavía no funciona, así que tal vez alguien más pueda ver lo que yo no puedo.

Así que estoy trabajando en un proyecto ReactJS y estoy tratando de vincular un archivo JS externo.

Aquí está la estructura del archivo: ingrese la descripción de la imagen aquí

El archivo javascript externo está en public/js/script.js .

He probado todos los métodos que he encontrado para que funcione.

Lo he vinculado en index.html de la siguiente manera:

 <script src="./js/script.js" type="text/jsx"></script>

He agregado lo siguiente a mi componente principal de la aplicación:

 componentDidMount() { const script = document.createElement('script'); let url = '../public/js/script.js' script.src = url; //(This is external js url) script.async = true; document.body.appendChild(script); }

He agregado esto en el componente funcional donde realmente necesito que funcione el javascript externo:

 useEffect(() => { const script = document.createElement('script'); script.src = '../public/js/script.js'; //(This is external js url) script.async = true; document.body.appendChild(script); }, [])

Y, sin embargo, no importa ninguno de estos intentos, nada parece hacer que el archivo funcione.

Estoy ejecutando el proyecto en localhost, por lo que no estoy seguro de si hay algún problema. Solo me gustaría descubrir cómo hacer que los archivos javascript externos funcionen. He intentado usar Helmet.

No sé qué estoy haciendo mal. De todos modos, agradezco cualquier ayuda que pueda obtener tratando de resolver esto.

Editar: ajusté lo siguiente: src="./js/script.js a src="js/script.js en la etiqueta <script> y tampoco tuvo ningún efecto. Todavía en busca de una solución.

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Código original:

 <script src="./js/script.js" type="text/jsx"></script>

Código modificado: (cambiado a directorio relativo)

 <script src="js/script.js" type="text/jsx"></script>
about 4 years ago · Juan Pablo Isaza Relatório

0

Coloque /js/script.js dentro de la carpeta pública, luego agregue esta línea entre la etiqueta head . (sin prefijo de punto)

Si coloca debajo de la etiqueta del body , esta línea se sobrescribirá cuando React comience a representar elementos.

 <script src="/js/script.js" type="text/jsx"></script>

O, de otra manera; intenta cambiar esta línea:

let url = '../public/js/script.js'

a:

let url = `${process.env.PUBLIC_URL}/js/script.js`

about 4 years ago · Juan Pablo Isaza Relatório

0

Esta solucion funciono para mi

  1. Utilicé el gancho useEffect dentro de un componente de función (antes del retorno). Esto se puede usar dentro de App.js también antes de la devolución. Nota: si desea hacer esto dentro de una clase que extiende React.component , entonces necesita usar componentDidMount() (antes de renderizar), esto es necesario ya que los ganchos funcionan dentro de un componente de función o solo ganchos personalizados.
  2. En el encabezado, agregue una etiqueta de secuencia de comandos
  1. Pequeño fragmento del código:

     import React, from "react"; React.useEffect(() => { const LoadExternalScript = () => { const externalScript = document.createElement("script"); externalScript.onerror = loadError; externalScript.id = "external"; externalScript.async = true; externalScript.type = "text/javascript"; externalScript.setAttribute("crossorigin", "anonymous"); document.body.appendChild(externalScript); externalScript.src = './script.js'; }; LoadExternalScript(); return () => { // document.body.removeChild(externalScript); }; }, []);
  2. Encontrará este enlace útil si obtiene un error de sintaxis:

"Error de sintaxis no detectado: token inesperado < en React" Solución de error de sintaxis

about 4 years ago · Juan Pablo Isaza Relatório
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