Javascript node.js中的require(../)是如何工作的?
node.js遇到var foo=require(../)时会查找哪些模块 看起来它会在目录1中查找,而不是当前目录,但是它会查找和执行什么操作呢 也许C语言中的include与Python中的import有相似之处 我从node.js开始阅读 在github上出现了示例代码,例如Javascript node.js中的require(../)是如何工作的?,javascript,node.js,Javascript,Node.js,node.js遇到var foo=require(../)时会查找哪些模块 看起来它会在目录1中查找,而不是当前目录,但是它会查找和执行什么操作呢 也许C语言中的include与Python中的import有相似之处 我从node.js开始阅读 在github上出现了示例代码,例如 var express = require('express') , tracker = require('../') 这段代码似乎分配了express模块(文件)的变量express内容,在使用npm安装ex
var express = require('express')
, tracker = require('../')
这段代码似乎分配了express模块(文件)的变量express内容,在使用npm安装express后,其路径必须是全局的,这似乎是可以理解的,尽管我知道有两种类型的模块安装,但这是另一个问题
但分配给变量跟踪器的内容是什么?这取决于该目录中的内容 如果X以“/”或“/”或“../”开头: a。作为文件加载(Y+X)
B将_加载为_目录(Y+X) 加载为文件(X):
A.解析X/package.json,并查找“main”字段。
B设M=X+(json主字段)
c加载为文件(M)
express
不必是全局安装的模块,这通常需要样式。我的猜测是,require('../')
将位于当前模块的目录之上,尽管我不知道在什么情况下它会在那里找到一个。签出require('../')
,签出require('express')
,签出npm
,表示“我知道有两种类型的模块安装”