如何更改required()
用于在其中查找模块的路径?我尝试这样做:
在node.js中为require设置一个路径
,但没有工作,因为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
为空,那么。。。要么是您的节点安装有问题,要么您可以安全地忽略它(我猜不需要备份它)。
至于require()函数实现的位置:从github拉出一个节点,经过一些搜索,似乎是这个位置:node/lib/internal/modules/cjs/helpers.JS
(就JS文件中使用的frontend
require函数而言,内部结构可能在C源代码中的某个地方,但不确定)。