Diferencia entre node.js require y la importación y exportación de ES6

Node.js sigue el sistema de módulos commonJS, y requiere incluir módulos que existen en archivos separados y para ese propósito tiene métodos como «requerir» y «importación y exportación de ES6» que están disponibles en node.js.

Requerir: es la función incorporada y es la forma más fácil de incluir módulos que existen en archivos separados. La funcionalidad básica de require es que lee un archivo JavaScript, ejecuta el archivo y luego procede a devolver el objeto de exportación. No solo le permite agregar módulos de Nodes principales integrados, sino también módulos basados ​​en la comunidad (node_modules) y módulos locales en el programa deseado. Hay varios módulos incorporados en un Node como: módulo HTTP, módulo de URL, módulo de string de consulta, módulo de ruta y mucho más.

Sintaxis:

  • Para incluir el módulo incorporado es el siguiente:
    const express = require('express');
  • La inclusión del módulo local es la siguiente. Por ejemplo, necesita el módulo ‘abc’, sin especificar una ruta.
    require('abc');

Ejemplo: Node buscará abc.js en todas las rutas especificadas por module.paths en orden.

  • Aporte:

    require('abc');
  • Producción:
    • Si el Node no puede encontrarlo:

      Error: Cannot find module 'abc'
          at Function.Module._resolveFilename (module.js:470:15)
          at Function.Module._load (module.js:418:25)
          at Module.require (module.js:498:17)
          at require (internal/module.js:20:19)
          at repl:1:1
          at ContextifyScript.Script.runInThisContext (vm.js:23:33)
          at REPLServer.defaultEval (repl.js:336:29)
          at bound (domain.js:280:14)
          at REPLServer.runBound [as eval] (domain.js:293:12)
          at REPLServer.onLine (repl.js:533:10)
    • Si el Node lo encuentra:

      // It is the content of the file
      Geeksforgeeks example for require

Importación y exportación de ES6: estas declaraciones se utilizan para hacer referencia a un módulo ES. No se pueden importar otros tipos de archivos con estas declaraciones. Solo están permitidos en módulos ES y el especificador de esta declaración puede ser una ruta relativa de estilo URL o un nombre de paquete.

Mientras que las declaraciones de exportación permiten al usuario exportar sus objetos y métodos creados a otros programas. Por ejemplo, si asigna un literal de string, expondrá ese literal de string como un módulo.

Sintaxis:

  • Para importar archivo.
    // Importing submodule from 
    // 'es-module-package/private-module.js';
    import './private-module.js';
  • Para exportar archivo.
    module.exports = 'A Computer Science Portal';

Ejemplo: Cree dos archivos JS, uno para importar y otro para exportar o puede usar cualquier módulo para importar, por lo que no será necesario exportar uno.

  • Exportar nombre de archivoMessage.js

    // Exporting module
    module.exports = 'Hello Geek';

    Importar nombre de archivoDisplay.js

    // Importing module
    var msg = import('./Message.js');
    console.log(msg);</li>
      
        <li><strong>Output:</strong>
    <div class="noIdeBtnDiv">
    Hello Geek

Diferencia entre require de node.js y la importación y exportación de ES6: aunque la función require y la importación y exportación de ES6 comparten mucho en común y parecen realizar la misma función en el código, pero son diferentes en muchos aspectos.

REQUERIR ES6 IMPORTACIÓN Y EXPORTACIÓN
Requerir es no léxico, se queda donde han puesto el archivo. La importación es léxica, se ordena en la parte superior del archivo.
Se puede llamar en cualquier momento y lugar del programa. No se puede llamar condicionalmente, siempre se ejecuta al principio del archivo.
Puede ejecutar directamente el código con la instrucción require. Para ejecutar un programa que contiene una declaración de importación, debe usar el indicador de función del módulo experimental.
Si desea utilizar el módulo require, debe guardar el archivo con la extensión ‘.js’. Si desea utilizar el módulo de importación, debe guardar el archivo con la extensión ‘.mjs’.

NOTA: Debe tener en cuenta que no puede usar require e import al mismo tiempo en su programa de Node y es más preferible usar require en lugar de import, ya que debe usar la función de indicador de módulo experimental para ejecutar el programa de importación.

Publicación traducida automáticamente

Artículo escrito por aditya_taparia 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 *