在 Azure Pipelines 任务库中,通过 apply()调用了 path.resolve() ,但我不太明白:
var absolutePath = path.resolve.apply(this, pathSegments);
在哪里pathSegments: any[]
上面的代码在模块范围内导出的函数中,所以(如果我理解正确的话)this
将引用模块本身。但是我不知道通过调用apply
而不是path.resolve()
直接调用的效果是什么。谁能解释一下?
上下文:我怀疑这可能与模拟有关 -在等效的模拟模块中有一个类似的功能path.posix.resolve.apply()
,它使用. 我的根本问题是,当我调用模拟的tl.resolve('')
- 间接 via tl.filePathSupplied()
- 它返回实际的 cwd 而不是模拟的 via TaskLibAnswers
。