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

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

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

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

【问题讨论】:

    标签: node.js express


    【解决方案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) 可能会更好。
    • 好建议将其添加到答案中
    • 很好的建议。这非常有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2017-09-20
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2021-05-18
    相关资源
    最近更新 更多