是否有可能要求从您的项目目录以外的模块没有相对path?

我试图build立一个JS模块的本地库在节点项目中使用。

如果一个新项目存在于/Users/me/projects/path/to/new/project/而且我的库文件位于/Users/me/projects/library/*.js中,有没有办法在不使用相对path?

/Users/me/projects/path/to/new/project/app.js你可以这样要求foo.js:

var foo = require('../../../../../library/foo') ,这样可以工作,但是很笨重,如果文件移动了,你必须更新你的相对path。

我已经试过requireFrom和app-module-path没有运气,因为它们是相对于项目根目录。

任何想法如何从您的项目之外要求文件目录?

提前致谢!

 var librarypath = '/Users/me/projects/library/'; // or if you prefer... // var librarypath = '../../../../../library/'; var foo = require(librarypath + 'foo.js'); 

…或穿得多一点…

 function requirelib(lib){ return require('/Users/me/projects/library/'+lib+'.js'); } var foo = requirelib('foo'); var bar = requirelib('bar');