考虑到这是我的工作目录的文件结构
|-- bower.json
|-- lib
| |-- foo1.js
| |-- foo2.js
| `-- foo3.js
|-- node_modules
| |-- body-parser
| |-- bower
| |-- express
| `-- md5
|-- package.json
|-- runserver.sh
|-- server.js
`-- test
我应该如何在我写入./lib目录的模块中加载第三方库模块(存在于./node_modules中)?
答案 0 :(得分:1)
您的require
是相对于执行要求的文件。如果您的server.js需要./lib/
的内容,那么您可以这样做:
// in ./server.js
var foo1 = require('./lib/foo1'); // file path: resolve relative to this file.
例外是" npm
已安装"依赖项,它们位于node_modules
目录中,并且不需要文件位置,只需要一个名称:
// in ./server.js
var express = require('express'); // not a file path: find in node_modules
// in ./lib/foo1.js
var express = require('express'); // not a file path: find in node_modules
// in some hypothetical ./lib/extended/secondary/mixin/foo7.js
var express = require('express'); // not a file path: find in node_modules