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?
2
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