如何更改 require()
的路径用于查找模块?
我试图这样做:
Setting a path for require in node.js
但它没有工作,因为 process.env。 NODE_PATH 未定义。
编辑:我认为我误解了 的用法NODE_PATH .在哪里可以找到 require()
的代码功能?
最佳答案
您尝试过的应该可以正常工作:
var currentNodePath = process.env.NODE_PATH;
process.env.NODE_PATH = directoryYouWant;
//do stuff then change it back
process.env.NODE_PATH = currentNodePath;
如果您 process.env.NODE_PATH
是空的,嗯……你的 Node 安装有问题,或者你可以放心地忽略它(我猜不需要备份它)。至于 require() 函数实现在哪里:从 github 拉 Node 并经过一些搜索后似乎是这个地方:
node/lib/internal/modules/cjs/helpers.js
(就 frontend
要求 在您的 JS 文件中使用的函数而言,内部可能在 C 源代码中的某个位置,但不确定)。
关于javascript - 更改模块路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63437244/