要求文件位于node.js目录中的某个位置

时间:2014-10-04 23:12:13

标签: node.js require

我在main目录内的许多其他文件中都有一个文件,这些文件位于不同的文件夹中。

有没有办法只需要文件名而不必写相对路径或绝对路径?像require('the_file')一样。而且无需转到npm并安装它?

1 个答案:

答案 0 :(得分:0)

在主目录中创建一个文件夹,将the_file.js放入其中并将NODE_PATH变量设置为该文件夹。

示例:

假设你在主目录中创建一个./libs文件夹,你可以使用:

export NODE_PATH = /.../main/lib

之后,您可以使用以下内容来要求此目录中的任何模块:

var thefile = require('the_file')

为了不必每次都这样做,您必须将变量添加到.bashrc中(假设您正在运行Unix系统)。

或者您可以在app.js文件中设置一个全局变量,并存储' the_file'的路径。就像这样:

global.rootPath = __dirname;

然后您可以使用以下任何文件要求:

var thefile = require(rootPath+'/the_file')

这些对我来说是最方便的方法,不是创建一个私有的npm,但是在查找问题的答案时我发现了一些其他的替代方法,请看一下:https://gist.github.com/branneman/8048520