Posso usar um nome falso com o NodeJS require function?

Tenho um módulo ES6 que exporta duas constantes:
export const foo = "foo";
export const bar = "bar";

posso fazer o seguinte noutro Módulo:

import { foo as f, bar as b } from 'module';
console.log(`${f} ${b}`); // foo bar

Quando USO módulos NodeJS, teria escrito assim:

module.exports.foo = "foo";
module.exports.bar = "bar";
Agora, quando o uso noutro módulo, Posso de alguma forma mudar o nome das variáveis importadas para os módulos ES6?

const { foo as f, bar as b } = require('module'); // invalid syntax
console.log(`${f} ${b}`); // foo bar
Como posso mudar o nome das constantes importadas nos Módulos NodeJS?

Author: xMort, 2018-02-23

3 answers

Claro, basta usar a sintaxe de destruição do objecto:

 const { foo: f, bar: b } = require('module');
 8
Author: Jonas Wilms, 2018-02-23 17:16:17

É possível (testado com o nó 8.9.4):

const {foo: f, bar: b} = require('module');
console.log(`${f} ${b}`); // foo bar
 6
Author: barnski, 2018-02-23 17:02:19
Eu diria que não é possível, mas uma alternativa seria:
const m = require('module');
const f = m.foo;
const b = m.bar;
 -1
Author: Rafael Paulino, 2018-02-23 16:57:12