如何更改require()
用于查找模块的路径?我试着这样做:
在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
是空的,那么。。。要么你的节点安装有问题,要么你可以安全地忽略它(我想不需要备份它(。
至于where is require((函数实现:从github中提取节点,经过一些搜索后,似乎是位置:node/lib/internal/modules/cjs/helpers.js
(就JS文件中使用的frontend
require函数而言,内部可能在C源中,但不确定(。