所需的path可以从项目根目录而不是相对的?

我担心,如果我需要的模块更改path,我将需要更新所有需要的path! (在java中不会发生的事情)

MyModule.js需要('./ lib')

现在MyModule改变目录,现在我需要做的

require('../../lib') 

无论如何指定从项目根需要path?

 require('/lib') 

如果我缺乏格式化,我正在从手机上写下这个

在运行节点应用程序之前,先运行:

 Linux: export NODE_PATH=. Windows: set NODE_PATH=. 

你可以将它添加到npm开始脚本本身,所以你可以很容易的自动化。

例:

Directory tree

 my_example/ ├── lib │  ├── a │  │  └── index.js │  └── b │  └── index.js ├── package.json └── server.js 

文件内容:

package.json

 { * * "scripts": { "start": "export NODE_PATH=./lib/;node server.js" }, * * } 

./lib/a/index.js

 console.log("hi from module a"); require("b/index"); 

./lib/b/index.js

 console.log("hi from module b"); 

./server.js

 require("a/index"); 

运行npm start输出:

 hi from module a hi from module b