[JS]モジュールのエクスポート/読み込み
ES5
エクスポート
userService.js
したがって、この2つの構文はエクスポート時に共通に使用されます.
module.エクスポートに割り当てると、オブジェクトが作成されて渡されます.
exportsに割り当てる場合は、key、value転送を設定します.
Node.js: exports vs module.exportsここでは、違いをより詳細に検討した記事があります.)
読み込み
module.exports objectを返します.
相対パスが指定されていない場合は、defaultを使用してnode modulesディレクトリでモジュールを検索します.
ES6
エクスポート
my-module.js
default exportを使用するには、オブジェクトとして渡す必要はありません.
ただし、この構文は1つのモジュールで1回しか使用できません.
また、exportは以下のようにすることもできます.
esバージョンベースのモジュールエクスポート/読み込み構文について説明します.
es 6構文では、上記のexport例のようにエクスポートする値をリストする必要はありません.
また、asを利用してメンバーに新しい名前を付けることもできます.
便利な文法を提供してくれて、いい感じです.👏🏻
エクスポート
userService.js
module.exports = { getUser, setUser, ... }
exports.getUser = getUser;
exports.setUser = setUser;
エクスポートはモジュールです.exportsのオブジェクトを参照します.したがって、この2つの構文はエクスポート時に共通に使用されます.
module.エクスポートに割り当てると、オブジェクトが作成されて渡されます.
exportsに割り当てる場合は、key、value転送を設定します.
Node.js: exports vs module.exportsここでは、違いをより詳細に検討した記事があります.)
読み込み
const userService = require('./userService.js');
// or
const { setUser, getUser } = require('./userService.js');
requireでモジュール名を指定してインポートできます.module.exports objectを返します.
相対パスが指定されていない場合は、defaultを使用してnode modulesディレクトリでモジュールを検索します.
ES6
エクスポート
my-module.js
default export mainModule;
export { subModule1, subModule2 };
export構文を使用します.default exportを使用するには、オブジェクトとして渡す必要はありません.
ただし、この構文は1つのモジュールで1回しか使用できません.
また、exportは以下のようにすることもできます.
default export function mainModule {
// ...
};
export const subModule1 = () => {
//...
};
読み込みimport mainModule, { subModule1, subModule2 } from './my-module.js';
mainModuleはdefaultとしてエクスポートされるので、変数として受信したり、異なる変数名を指定したりすることができます.import mainModule, * as myModules from './my-module.js';
*asとともに使用すると、myModulesという名前のネームスペースを作成できます.esバージョンベースのモジュールエクスポート/読み込み構文について説明します.
es 6構文では、上記のexport例のようにエクスポートする値をリストする必要はありません.
また、asを利用してメンバーに新しい名前を付けることもできます.
便利な文法を提供してくれて、いい感じです.👏🏻
Reference
この問題について([JS]モジュールのエクスポート/読み込み), 我々は、より多くの情報をここで見つけました https://velog.io/@jsi06138/JS-모듈-내보내기-불러오기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol