web-dev-qa-db-ja.com

NodeJSのrequire関数でエイリアスを使用できますか?

2つの定数をエクスポートするES6モジュールがあります。

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

別のモジュールで次のことができます。

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

NodeJSモジュールを使用する場合、次のように記述します。

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

別のモジュールで使用する場合、ES6モジュールと同様に、インポートした変数の名前を何らかの方法で変更できますか?

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

NodeJSモジュールでインポートされた定数の名前を変更するにはどうすればよいですか?

17
xMort

もちろん、オブジェクトを破壊する構文を使用するだけです。

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

可能です(Node 8.9.4)でテスト済み):

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