Windows 对于Node.JS,Win中的核心模块在哪里?
从中可以看出,核心模块安装在NodeJS根文件夹的/lib文件夹中,但是当我试图搜索它时,我没有看到/lib文件夹 有什么想法吗 另外,在我做了一个Windows 对于Node.JS,Win中的核心模块在哪里?,windows,node.js,configuration,Windows,Node.js,Configuration,从中可以看出,核心模块安装在NodeJS根文件夹的/lib文件夹中,但是当我试图搜索它时,我没有看到/lib文件夹 有什么想法吗 另外,在我做了一个 var a = require("a.js"); 是否可以获取a.js的相应路径?这意味着/lib文件夹位于源代码中,而不是您的计算机中。你可以从中看到它 及 require 绝对路径:如果参数不是以/'或'../'开头,则它是绝对路径。所以,节点可以在核心模块(它在节点运行时编译)或使用npm在本地安装的“node_modules”中查找它
var a = require("a.js");
是否可以获取a.js的相应路径?这意味着
/lib
文件夹位于源代码中,而不是您的计算机中。你可以从中看到它
及
require
- 绝对路径:如果参数不是以
/'或
'../'开头,则它是绝对路径。所以,节点可以在核心模块(它在节点运行时编译)或使用npm在本地安装的“node_modules”中查找它
- 相对路径:如果参数以
或/
开头,则为相对路径。所以节点查找它相对于当前位置的路径./
很简单。您可以使用
require.resolve('a.js')
获取绝对系统路径。但是核心模块没有路径,因为它是内置的。虽然公认的答案足以解决这个问题,但值得一提的是,它有一些关于所需模式的误导性信息。从根本上说:
前缀为“/”的模块是文件的绝对路径。例如,require('/home/marco/foo.js')将在/home/marco/foo.js加载文件
前缀为“/”的模块与调用require()的文件相关。也就是说,circle.js必须与foo.js位于同一目录中,require(“./circle”)才能找到它
如果没有前导“/”或“/”来表示文件,则该模块要么是“核心模块”,要么是从node_modules文件夹加载的