web-dev-qa-db-fra.com

Puis-je utiliser un alias avec NodeJS require function?

J'ai un module ES6 qui exporte deux constantes:

export const foo = "foo";
export const bar = "bar";

Je peux faire ce qui suit dans un autre module:

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

Lorsque j'utilise des modules NodeJS, je l'aurais écrit comme ceci:

module.exports.foo = "foo";
module.exports.bar = "bar";

Maintenant, quand je l'utilise dans un autre module, puis-je en quelque sorte renommer les variables importées comme avec les modules ES6?

const { foo as f, bar as b } = require('module'); // invalid syntax
console.log(`${f} ${b}`); // foo bar

Comment renommer les constantes importées dans les modules NodeJS?

17
xMort

Bien sûr, utilisez simplement la syntaxe de déstructuration d'objet:

 const { foo: f, bar: b } = require('module');
34
Jonas Wilms

C'est possible (testé avec Node 8.9.4):

const {foo: f, bar: b} = require('module');
console.log(`${f} ${b}`); // foo bar
7
barnski