¿Cómo usar una importación ES6 en Node.js?

Introducción a la importación ES6: 

La declaración de importación se usa para importar módulos que son exportados por algún otro módulo. Un módulo es un archivo que contiene una pieza de código reutilizable. Los módulos de importación están en modo estricto tanto si se declaran como si no.

Sintaxis de importación:

import name from 'module-name'

La importación se puede realizar de varias formas:

  1. Importación de un módulo completo: 

    import * as name from 'module-name'
  2. Importar exportación predeterminada desde un módulo:

    import name from 'module-name'
  3. Importación de una única exportación desde un módulo:

    import { name } from 'module-name'
  4. Importación de múltiples exportaciones desde un módulo:

    import { nameOne , nameTwo } from 'module-name'
  5. Importación de un módulo solo para efectos secundarios

    import './module-name'
  6. Node js no admite la importación de ES6 directamente. Si intentamos usar import para importar módulos directamente en el Node js, ​​arrojará el error. Por ejemplo, si intentamos importar el módulo express escribiendo import express desde el Node ‘express’ js arrojará un error de la siguiente manera:

    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.

    1. En el archivo package.json , agregue «tipo»: «módulo» . Agregar esto habilita los módulos ES6.

      El archivo package.json debería verse así:

      paquete.json

      //package.json
      {
        "name": "index",
        "version": "1.0.0",
        "description": "",
        "main": "index.js",
        "type": "module",
        "scripts": {
          "test": "echo \"Error: no test specified\" && exit 1"
        },
        "keywords": [],
        "author": "",
        "license": "ISC"
      }
    2. Cree un archivo index.js y escriba el programa utilizando la importación ES6. Por ejemplo, intentemos importar express en el 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}`);
      })

    Ahora ejecute el archivo index.js escribiendo node –experimental-modules index.js en la terminal. 

    Usando el módulo esm:

    Otra forma de hacerlo es creando un archivo con extensión .mjs . Si estamos usando el archivo con extensión .mjs, entonces no tenemos que agregar «tipo»: «módulo» en el archivo paquete.json. Podemos escribir directamente el programa y ejecutarlo escribiendo node –experimental-modules index.mjs en la terminal.

    Ahora, cuando use un archivo con la 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 Node de tipo de terminal –experimental-modules index.mjs . Esto ejecutará el archivo y la aplicación ahora se ejecutará en el PUERTO 5000.

    Usando el módulo esm

    Instalación

    npm install esm

    Ahora intente ejecutar el programa escrito en el archivo index.js anteriormente escribiendo node -r esm index.js en la terminal. 

    Otra forma de usar el módulo esm es crear otro archivo, digamos server.js, que cargue esm antes que la aplicación real. En el archivo server.js escriba el siguiente código

    //server.js
    require = require("esm")(module);
    module.exports = require("./index.js");

    Nota: en el archivo server.js , estamos importando el archivo index.js que contiene el programa real que debe ejecutarse. 

    Ahora en la terminal escriba node server.js para ejecutar el programa

    La salida del archivo index.js e index.mjs en el método anterior es:

    anfitrión local: 5000

    Ventajas de usar import en lugar de require en nodejs:

  • La importación ayuda a cargar selectivamente las piezas de código que se requieren, lo que ayuda a ahorrar memoria.
  • En el caso de que se requiera, la carga es síncrona, mientras que la importación puede ser asíncrona, por lo que funciona mejor de lo requerido.

Publicación traducida automáticamente

Artículo escrito por pritishnagpal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *