Javascript 模块对象的路径属性?
当我将任何模块的Javascript 模块对象的路径属性?,javascript,node.js,module,Javascript,Node.js,Module,当我将任何模块的module对象打印到控制台时,我会得到如下输出: { id: '.', exports: {}, parent: null, filename: '/Users/myname/audiooutput/bin/audiomodule.js', loaded: false, children: [...], // array of module objects, omitted for brevity paths: // what is this? [
module
对象打印到控制台时,我会得到如下输出:
{ id: '.',
exports: {},
parent: null,
filename: '/Users/myname/audiooutput/bin/audiomodule.js',
loaded: false,
children: [...], // array of module objects, omitted for brevity
paths: // what is this?
[ '/Users/myname/audiooutput/bin/node_modules',
'/Users/myname/audiooutput/node_modules',
'/Users/myname/node_modules',
'/Users/node_modules',
'/node_modules' ] }
在这里,我看到通常的模块
属性列在:id
,导出
,父项
,文件名
,加载的
,以及子项
但是,还有最后一个属性,
路径
,即数组。数组的元素不引用实际目录。它们似乎毫无意义。因此,我的问题是:module
对象的path属性的用途是什么,为什么没有在Node.js文档中列出?谢谢。这是require
从该文件中查找所需模块的路径:
.你确定那些路径不存在吗?@RUJordan我确定。除每个路径中的最终“/node_modules”文件夹外,所有内容均有效。这是不存在的。例如,“/Users/myname/audiooutput/bin”是一个有效的目录,但其中没有“node_modules”文件夹。@第二个路径有效。