Introducción a la importación ES6:
La declaración de importación se utiliza para importar módulos exportados por algún otro módulo. Un módulo es un archivo que contiene una pieza de código reutilizable. Los módulos importados están en modo estricto ya sea que se declaren o no.
Proporción de importación:
import name from 'module-name'
La importación se puede realizar de diferentes formas:
Importación de un módulo completo:
import * as name from 'module-name'
Importar exportación predeterminada desde el módulo:
import name from 'module-name'
Importación de una única exportación desde un módulo:
import { name } from 'module-name'
Importar múltiples exportaciones desde un módulo:
import { nameOne , nameTwo } from 'module-name'
Módulo de importación solo para efectos secundarios
import './module-name'
- En paquete.json agregar archivo «tipo»: «módulo». Esto habilita los módulos ES6.
el es paquete.json El archivo debería verse así:
Cree archivos index.js y escriba el programa utilizando la importación ES6. Por ejemplo, intentemos importar express en un archivo index.js
archivo index.js
//index.js
import express from
'express'
;
const app = express();
app.get(
'/'
,(req,res) => {
res.send(
'GeeksforGeeks'
);
})
const PORT = 5000;
app.listen(PORT,() => {
console.log(`Running on PORT ${PORT}`);
})
Node js no admite directamente la importación de ES6. Si intentamos usar import para importar módulos directamente en el nodo js, arrojamos el error. Por ejemplo, si intentamos importar un módulo express escribiendo importar express desde ‘express’ node js arrojará un error como este:
Node tiene soporte experimental para módulos ES. Para habilitarlos, debemos realizar algunos cambios en el archivo package.json. Antes de seguir los pasos, asegúrese de que Node esté instalado. A continuación se muestran los pasos para lograr lo mismo.
Ahora ejecute el archivo index.js escribiendo nodo –módulos experimentales index.js en la terminal
Usando el módulo ESM:
Otra forma de hacer esto es crear un archivo con extensión .mjs. Si estamos usando el archivo con la extensión .mjs, entonces no necesitamos agregarlo «tipo»: «módulo» en el archivo paquete.json. Podemos escribir el programa directamente y podemos ejecutarlo escribiendo nodo –módulos experimentales index.mjs en la terminal
Ahora, cuando use un archivo con una extensión .mjs, el archivo package.json se verá así:
JavaScript
// package.json when using .mjs file { "name" : "index" , "version" : "1.0.0" , "description" : "" , "main" : "index.js" , "scripts" : { "test" : "echo "Error: no test specified" && exit 1" }, "keywords" : [], "author" : "" , "license" : "ISC" } |
Cree un archivo index.mjs y escriba el programa utilizando la importación ES6.
JavaScript
//index.mjs import express from 'express' ; const app = express(); app.get( '/' ,(req,res) => { res.send( 'GeeksforGeeks' ); }) const PORT = 5000; app.listen(PORT,() => { console.log(`Running on PORT ${PORT}`); }) |
Ahora en el tipo de terminal nodo –módulos experimentales index.mjs . Esto ejecutará el archivo y la aplicación ahora se ejecutará en el PUERTO 5000.
Uso del módulo ESM
Instalación
npm install esm
Ahora intente ejecutar el programa escrito en el archivo index.js anteriormente escribiendo nodo -r esm index.js en la terminal
Otra forma de usar el módulo esm es mediante la creación de otro archivo, digamos server.js, que ESM se carga antes que la aplicación real. En el archivo server.js escriba el código a continuación
//server.js require = require("esm")(module); module.exports = require("./index.js");
Nota: En el archivo servidor.jsestamos importando el archivo index.js que contiene el programa real que debe ejecutarse.
Ahora en el tipo de terminal servidor node.js para operar el programa
La salida del índice.js y índice.mjs archivo en el método anterior es:


anfitrión local: 5000
Ventajas de usar import en lugar de require en nodejs:
- La importación ayuda en la carga opcional de fragmentos de código necesarios, lo que ayuda a ahorrar memoria.
- Por necesidad, la carga debe ser síncrona, pero la importación puede ser asíncrona, por lo que funciona mejor de lo necesario.