gpt4 book ai didi

javascript - 在 node.js 中获取模块的名称

转载 作者:搜寻专家 更新时间:2023-10-31 22:43:06 25 4
gpt4 key购买 nike

有谁知道如何在 node.js/javascript 中获取模块的名称

假设你有

var RandomModule = require ("fs")
.
.
.
console.log (RandomModule.name)
// -> "fs"

最佳答案

如果您正在尝试跟踪您的依赖关系,您可以尝试使用 require 钩子(Hook)。

创建一个名为 myRequireHook.js 的文件

var Module = require('module');
var originalRequire = Module.prototype.require;
Module.prototype.require = function(path) {
console.log('*** Importing lib ' + path + ' from module ' + this.filename);
return originalRequire(path);
};

此代码将 Hook 每个 require 调用并将其记录到您的控制台。

不完全是您首先提出的问题,但也许它可以更好地帮助您。

并且您只需要在主 .js 文件中调用一次(以 node main.js 开头的文件)。

所以在您的 main.js 中,您只需这样做:

require('./myRequireHook');
var fs = require('fs');
var myOtherModule = require('./myOtherModule');

它也会在您的其他模块中跟踪 require

这就是像 babel 这样的转译器的方式工作。他们 Hook 每个 require 调用并在加载之前转换您的代码。

关于javascript - 在 node.js 中获取模块的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33956554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com