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