Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

194
Vistas
Importar módulo local dentro del script desde html externo

Tengo frontend y backend. Desde el backend obtengo html prerenderizado (formulario de Symfony) que incluye script con etiqueta de origen. El origen es localhost:8001.

 <html> <head> ... </head> <body> ... <div class="container"> {% block javascripts %} <script type="module" src="http://localhost:8020/build/form_generator/script.js"></script> {% endblock %} </div> </body> </html>

En la interfaz (localhost: 8020), script.js se encuentra en la carpeta Pública. El script se carga bien, pero dentro del script quiero cargar otro módulo desde la interfaz (Select2, que está instalado en node_modules) pero no puedo cargarlo correctamente. Select2 se importa correctamente dentro de otros scripts en la interfaz. secuencia de comandos.js:

 /** @module script*/ import 'select2'; // gives log error 1 import select2 from "../../../node_modules/select2/dist/js/select2"; // gives log error 2

error de registro 1: TypeError no detectado: no se pudo resolver el especificador de módulo "select2". Las referencias relativas deben comenzar con "/", "./" o "../".

error de registro 2: OBTENER http://localhost:8020/node_modules/select2/dist/js/select2 net::ERR_ABORTED 404 (No encontrado)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Los módulos cargados por el navegador no pueden usar las reglas de resolución de módulos de Node.JS.

No tienen acceso al sistema de archivos. No pueden buscar en un directorio node_modules .

Necesitas:

  • Asegúrese de que el módulo que desea cargar tenga una URL (cómo hacerlo depende de su servidor HTTP)
  • Importar esa URL

p.ej

 import select2 from '/static/js/select2.js';

Alternativamente, use un paquete (como Webpack o Parcel) que puede hacer la resolución del módulo Node.js para agrupar todos los módulos en un solo archivo JS que puede cargar como un no módulo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda