我需要检查将要加载的模块是内置模块还是外部模块。例如,假设您fs
在node_modules目录中有一个名为的模块。如果执行require("fs")
此操作,将加载内置模块,而不是node_modules内部的模块,因此,我确定这个问题有解决方案。
例子:
var loadModule = function (moduleName){
if (isCoreModule (moduleName)){
...
}else{
...
}
};
loadModule ("fs");
process.binding('natives');
返回一个可以访问所有内置模块的对象,因此获取该对象的键将为您获取模块名称。因此,您可以简单地执行以下操作:
var nativeModules = Object.keys(process.binding('natives'));
function loadModule(name) {
if (~nativeModules.indexOf(name)) {
// `name` is a native module name
} else {
// ...
}
};
loadModule('fs');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句