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