对于Node.JS,Win中的核心模块在哪里?

时间:2013-05-16 07:54:42

标签: windows node.js configuration

official api site它说核心模块安装在NodeJS根文件夹的/ lib文件夹中,但是当我试图搜索它时,我没有看到/ lib文件夹。

有什么想法吗?

此外,在我完成了

之后
var a = require("a.js");

是否可以获得a.js的相应路径?

2 个答案:

答案 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文件夹加载。