从official api site它说核心模块安装在NodeJS根文件夹的/ lib文件夹中,但是当我试图搜索它时,我没有看到/ lib文件夹。
有什么想法吗?
此外,在我完成了
之后var a = require("a.js");
是否可以获得a.js的相应路径?
答案 0 :(得分:1)
这意味着/lib
文件夹位于源代码中,而不是您的计算机。你可以在repository中看到它。
和
require
绝对路径:如果参数未以./' nor
'.. /'开头,则为绝对路径。所以节点在核心模块(在节点运行时编译)或在本地使用npm安装的`node_modules'中查找它。
相对路径:如果参数以./
或../
开头,则为相对路径。所以节点寻找它到当前位置的相对路径。
这很简单。并且您可以使用require.resolve('a.js')
来获取绝对系统路径。但核心模块没有路径,因为它是内置的。
答案 1 :(得分:0)
虽然接受的答案足以解决问题,但值得一提的是,它有一些关于所需模式的误导性信息。来自Reference Documentation of Node:
前缀为“/”的模块是文件的绝对路径。例如,require('/ home / marco / foo.js')将在/home/marco/foo.js加载文件。
前缀为“./”的模块与调用require()的文件有关。也就是说,circle.js必须与foo.js在for((./ circle')中找到它。
如果没有前导'/'或'./'来表示文件,该模块可以是“核心模块”,也可以从node_modules文件夹加载。