Node.js 运行脚本nodejs时获取符号链接外部的目录

Node.js 运行脚本nodejs时获取符号链接外部的目录,node.js,symlink,Node.js,Symlink,让我们假设下面的例子 根 配置 my.json 释放 今天 index.js 当前(例如,符号链接到今天) 我想使用一个简单的require语句,require('my.json') nodejs脚本将使用node index.js或node fullpath/index.js 遇到的问题是require路径总是解析为releases/today/index.js,而不是current/index.js。因此,包含我的json文件是不正确的 已经尝试了以下技术,然后是输出:

让我们假设下面的例子

    • 配置
      • my.json
    • 释放
      • 今天
        • index.js
    • 当前(例如,符号链接到今天)
我想使用一个简单的
require
语句,
require('my.json')

nodejs脚本将使用
node index.js
node fullpath/index.js

遇到的问题是require路径总是解析为
releases/today/index.js
,而不是
current/index.js
。因此,包含我的json文件是不正确的

已经尝试了以下技术,然后是输出:

  • \uuu dirname
    /ROOT/releases/today
  • process.cwd()
    /ROOT/releases/today
  • process.env.PWD
    :取决于脚本的启动位置:
    /
    /ROOT/current
  • require('path')。解析(\uu dirname))
    :/ROOT/releases/day

process.env.PWD
并不总是给出稳定的结果,我想知道是否有同样的结果。

Hi,你解决过这个问题吗?我现在也有同样的问题。我正在使用符号链接目录中的_dirname上的path.resolve(),我希望该路径特定于项目,而不是在符号链接之后。您好,我不记得我是否解析了它(这很可能意味着我没有)。但我确实意识到,如果我必须寻找这么长时间,像这样的东西,我最有可能使用一个过于复杂的解决方案。在我的例子中,这个问题是通过使用docker容器摆脱发布/当前结构来解决的,在我看来,docker容器允许更好/更简单的方式来管理发布,并且具有额外的优势