Tengo un módulo ES6 que exporta dos constantes:
export const foo = "foo"; export const bar = "bar";Puedo hacer lo siguiente en otro módulo:
import { foo as f, bar as b } from 'module'; console.log(`${f} ${b}`); // foo barCuando uso módulos de NodeJS, lo habría escrito así:
module.exports.foo = "foo"; module.exports.bar = "bar";Ahora, cuando lo uso en otro módulo, ¿puedo cambiar el nombre de las variables importadas como con los módulos ES6?
const { foo as f, bar as b } = require('module'); // invalid syntax console.log(`${f} ${b}`); // foo bar¿Cómo puedo cambiar el nombre de las constantes importadas en los módulos de NodeJS?
Claro, solo use la sintaxis de desestructuración de objetos:
const { old_name: new_name, foo: f, bar: b } = require('module');Es posible (probado con Node 8.9.4):
const {foo: f, bar: b} = require('module'); console.log(`${f} ${b}`); // foo barSí, una simple desestructuración cumpliría con su solicitud.
var events = require('events'); var emitter = new events.EventEmitter(); const emitter = {EventEmitter} = require('events'); emitter() creará un alias para el método EventEmitter()
Solo recuerda instanciar tu función nombrada: var e = new emitter(); 😁