1. ホーム
  2. javascript

NodeJSのrequire関数でaliasを使用できますか?

2023-08-24 13:10:13

質問

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モジュールでインポートされた定数の名前を変更するにはどうすればよいですか?

どのように解決するのですか?

もちろん、オブジェクトの再構築構文を使用すればよいのです。

 const { old_name: new_name, foo: f, bar: b } = require('module');