避免在nodejs中使用../../../ require

时间:2014-11-07 14:08:32

标签: node.js express

我正在创建一个快速4项目,我的许多文件都嵌套在文件夹中。不幸的是我使用了很多:

var x = require('../../../../file');

我想我可以避免这种情况,如果我可以访问项目的基本网址,但我发现使用全局变量不是一个好主意。解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

如果您想要从中启动节点进程的根脚本的目录,您可以这样得到它:

var root = require.main.filename.slice(0,require.main.filename.lastIndexOf('/'))

或者,正如@ChiChou建议的那样:

var root = require('path').dirname(require.main.filename)

这假定主脚本(或任何其他需要您的代码的脚本)是从根目录运行的。

您可以将此root用作“基本网址”。