From 39e8084e27a49a0bec825d1451f872d3e2230444 Mon Sep 17 00:00:00 2001 From: fu1996 <1586237690@qq.com> Date: Fri, 23 Jun 2023 17:12:43 +0000 Subject: [PATCH] feat: attempting to improve performance by using caching to cache imported modules --- lib/loadLoader.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/loadLoader.js b/lib/loadLoader.js index 1210353..71ba351 100644 --- a/lib/loadLoader.js +++ b/lib/loadLoader.js @@ -1,5 +1,6 @@ var LoaderLoadingError = require("./LoaderLoadingError"); var url; +var moduleObj = {}; module.exports = function loadLoader(loader, callback) { if(loader.type === "module") { @@ -16,7 +17,11 @@ module.exports = function loadLoader(loader, callback) { } } else { try { - var module = require(loader.path); + var module = moduleObj[loader.path]; + if (!module) { + module = require(loader.path); + moduleObj[loader.path] = module; + } } catch(e) { // it is possible for node to choke on a require if the FD descriptor // limit has been reached. give it a chance to recover.