diff --git a/lib/module.js b/lib/module.js index 7d4e2f31812bcc..ee9bf967bfb4b4 100644 --- a/lib/module.js +++ b/lib/module.js @@ -572,15 +572,21 @@ Module.prototype.load = function(filename) { if (ESMLoader) { const url = getURLFromFilePath(filename); const urlString = `${url}`; + const exports = this.exports; if (ESMLoader.moduleMap.has(urlString) !== true) { - const ctx = createDynamicModule(['default'], url); - ctx.reflect.exports.default.set(this.exports); - ESMLoader.moduleMap.set(urlString, - new ModuleJob(ESMLoader, url, async () => ctx)); + ESMLoader.moduleMap.set( + urlString, + new ModuleJob(ESMLoader, url, async () => { + const ctx = createDynamicModule( + ['default'], url); + ctx.reflect.exports.default.set(exports); + return ctx; + }) + ); } else { const job = ESMLoader.moduleMap.get(urlString); if (job.reflect) - job.reflect.exports.default.set(this.exports); + job.reflect.exports.default.set(exports); } } };