【发布时间】:2012-09-19 10:43:23
【问题描述】:
node.js 遇到 var foo=require(../) 时会寻找哪些模块?
看起来它会从当前目录向上查找一个目录,但它究竟会查找和做什么?
也许与 C 中的 include 或 Python 中的 import 有一个类比?
我一直从 node.js 开始阅读 http://nodejs.org/api/modules.html 并在 github 上找到了示例代码,例如
var express = require('express')
, tracker = require('../')
这段代码似乎在使用 npm 安装 express 后分配 express 模块(文件)的变量 express 内容,其路径必须是全局的,这似乎可以理解,尽管我知道有两种类型模块安装,但这是另一个问题。
但是什么内容被分配给变量tracker?
【问题讨论】:
-
express不必是全局安装的模块,这种require样式通常是loads it from thenode_modulesdirectory。我的猜测是require('../')会在当前模块的目录上方look for apackage.jsonin the directory,尽管我不知道在什么情况下它会在那里找到一个。 -
签出Folders as Modules for
require('../'),Loading fromnode_modulesFolders forrequire('express'),和npm's folders(1) for "我知道有两种类型的模块安装。"
标签: javascript node.js