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

490
Vistas
¿Cuándo necesitamos agregar una extensión de archivo al importar módulos de JavaScript?

Al importar módulos, noté que a veces los archivos importados tienen su extensión, ejemplo:

 import { myFunc } from './foo.js';

Mientras que otras bibliotecas, las importaciones no:

 import { myFunc } from './foo';

¿Está esto relacionado con los módulos ES frente a los módulos CommonJS?

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

0

La respuesta a esta pregunta depende de su tiempo de ejecución y entorno de compilación, y también de si está utilizando módulos ES (la sintaxis de import ) o módulos CommonJS (la sintaxis require ). A continuación encontrará una descripción general de los casos más comunes.

Webpack (utilizado por create-react-app y muchas otras herramientas) funciona con módulos ES de la siguiente manera:

Si la ruta tiene una extensión de archivo, el archivo se empaqueta inmediatamente. De lo contrario, la extensión del archivo se resuelve mediante la opciónresolve.extensions , que le indica al resolutor qué extensiones son aceptables para la resolución, por ejemplo, .js , .jsx . Más sobre ladocumentación oficial.

Si está utilizando módulos ES con Node.js:

Se debe proporcionar una extensión de archivo al usar la palabra clave de import para resolver especificadores relativos o absolutos. Los índices de directorio (p. ej './startup/index.js' ) también deben especificarse por completo. Este comportamiento coincide con el comportamiento de la importación en entornos de navegador, suponiendo un servidor configurado normalmente.

El --experimental-specifier-resolution=[mode] se puede usar para personalizar el algoritmo de resolución de extensión. El modo predeterminado es explícito, lo que requiere que se proporcione al cargador la ruta completa a un módulo. Más sobre la documentación oficial.

Si está utilizando módulos ES en el navegador sin ninguna compilación, habrá una solicitud a un servidor para obtener el archivo necesario, por lo que debe agregar la extensión. Más sobre la documentación de MDN.

Si está utilizando módulos CommonJS con Node.js:

Si no se encuentra el nombre de archivo exacto, Node.js intentará cargar el nombre de archivo requerido con las extensiones agregadas: .js , .json y, finalmente, .node . Más sobre la documentación oficial.

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