在nodejs中避免../../../ require [重复]

Posted

技术标签:

【中文标题】在nodejs中避免../../../ require [重复]【英文标题】:Avoid ../../../ require in nodejs [duplicate] 【发布时间】:2015-01-04 08:30:33 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

如果你想要节点进程启动的根脚本的目录,你可以这样获取:

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

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

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

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

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

【讨论】:

var root = require('path').dirname(require.main.filename) 可能会更好。 好建议将其添加到答案中 很好的建议。这非常有效。谢谢!

以上是关于在nodejs中避免../../../ require [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Firebase 进行 NodeJS 身份验证

在nodejs中避免../../../ require [重复]

通过单独的 nodeJS 实例共享套接字

如何避免nodejs循环上的429

避免windows权限问题nodejs 配置全局 globle 缓存 catch

nodejs setMaxListeners 避免内存泄漏检测