模块的节点路径前缀

Node path prefixes for modules

本文关键字:前缀 路径 节点 模块      更新时间:2023-09-26

这应该是一个非常简单的问题。我认为这可能只是一个惯例,但我想检查一下,因为我不知道它背后是否有其他东西,也不知道该搜索什么短语。

var hello = require('./hello');
hello.world();

想象一下上面的代码。require路径的前缀为。/对于同一文件夹中的文件,此选项始终存在。为什么不只是文件名?

与常用相比

var http = require('http');

前缀不是。/我目前认为这是由于http文件是一个"本机"模块。因此,我说任何没有的话都是对的。/正在查找本机Node命名空间和任何带有的。/正在查找本地文件?

同样,一个文件在更高的目录中,比如在PHP中,它会是/在Node中,它会是.././或./../

是的,这是node中使用的一个简单约定。请参阅模块。要求文档

值得一提的是,您不会总是使用require("./hello")。有时您会使用require("../../foo")require("../")


简单地说,

  • 您使用path来要求模块中的文件
  • 您使用字符串identifier来包含其他模块