Módulos JavaScript


Tabla de contenido

    Mostrar tabla de contenidos


Módulos

Los módulos de JavaScript le permiten dividir su código en archivos separados.

Esto hace que sea más fácil mantener una base de código.

Los módulos se importan desde archivos externos con la instrucción import.

Los módulos también dependen de type="module" en la etiqueta <script>.

Ejemplo

<script type="module">
import message from "./message.js";
</script>

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Modules</h1>

<p id="demo"></p>

<script type="module">
import message from "./message.js";

document.getElementById("demo").innerHTML = message();

</script>

</body>
</html>

Exportar

Los módulos con funciones o variables se pueden almacenar en cualquier archivo externo.

Hay dos tipos de exportaciones: Exportaciones nombradas y Exportaciones predeterminadas.


Exportaciones nombradas

Creemos un archivo llamado person.js y llénelo con las cosas que queremos exportar.

Puede crear exportaciones con nombre de dos maneras. En línea individualmente o todos a la vez en la parte inferior.

En línea individualmente:

persona.js

export const name = "Jesse";
export const age = 40;

Todo a la vez en la parte inferior:

persona.js

const name = "Jesse";
const age = 40;

export {name, age};

Exportaciones predeterminadas

Creemos otro archivo, llamado message.js, y Úselo para demostrar la exportación predeterminada.

Solo puede tener una exportación predeterminada en un archivo.

Ejemplo

mensaje.js

const message = () => {
  const name = "Jesse";
  const age = 40;
  return name + ' is ' + age + 'years old.';
};

export default message;


Importar

Puede importar módulos a un archivo de dos maneras, según si tienen nombre exportaciones o exportaciones por defecto.

Las exportaciones nombradas se construyen utilizando llaves. Las exportaciones predeterminadas no lo son.

Importar desde exportaciones nombradas

Importe exportaciones con nombre desde el archivo person.js:

import { name, age } from "./person.js";

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Modules</h1>

<p id="demo"></p>

<script type="module">
import { name, age } from "./person.js";

let text = "My name is " + name + ", I am " + age + ".";

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Importar desde exportaciones predeterminadas

Importe una exportación predeterminada desde el archivo message.js:

import message from "./message.js";

Pruébelo usted mismo →

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Modules</h1>

<p id="demo"></p>

<script type="module">
import message from "./message.js";

document.getElementById("demo").innerHTML = message();

</script>

</body>
</html>

Nota

Los módulos solo funcionan con el protocolo HTTP(s).

Una página web abierta a través del protocolo file:// no puede utilizar importación/exportación.