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

154
Views
¿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 answers
Answer question

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 Report

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 Report

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 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!