提交 c9551d5d 编写于 作者: A ascrutae
......@@ -33,6 +33,7 @@ module.exports = hook;
function hook(modules, requireCallback) {
const enhancedModuleCache = {};
const _origRequire = Module.prototype.require;
let progressingHookFiles = {};
Module.prototype.require = function(request) {
let filename = Module._resolveFilename(request, this);
let core = filename.indexOf(path.sep) === -1;
......@@ -45,7 +46,17 @@ function hook(modules, requireCallback) {
return enhancedModuleCache[filename];
}
// check current module is in progressing,
// if yes, ignore it
let progressing = progressingHookFiles[filename];
if (!progressing) {
progressingHookFiles[filename] = true;
}
let exports = _origRequire.apply(this, arguments);
if (progressing) return exports;
delete progressingHookFiles[filename];
if (core) {
moduleName = filename;
enhanceFile = filename;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册