我在main
目录内的许多其他文件中都有一个文件,这些文件位于不同的文件夹中。
有没有办法只需要文件名而不必写相对路径或绝对路径?像require('the_file')
一样。而且无需转到npm并安装它?
答案 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