以下是三个文件的示例代码:
// foo.js
var myFunc = require("./myFunc");
function foo(){
myFunc("message");
}
// bar.js
var myFunc = require("./myFunc");
function bar(){
myFunc("message");
}
// myFunc.js
module.exports = myFunc;
function myFunc(arg1){
console.log(arg1);
// Here I need the file path of the caller function
// For example, "/path/to/foo.js" and "/path/to/bar.js"
}
Run Code Online (Sandbox Code Playgroud)
我需要动态获取调用函数的文件路径,而不需要传递任何额外的参数myFunc.
换句话说,是否有一个管理 git 版本的工具,类似于nvm和rvm(分别)为 Node 和 ruby 所做的事情?
编辑:
我想我的问题的标题有点误导。我本身并不想同时使用多个版本。下载源代码压缩包并手动构建/安装很烦人。如果能简化这个过程就太好了。虽然有通用的包管理工具,例如brew、yum和apt,但它们的更新速度可能很慢,并且在平台之间有所不同。有一个简单的界面来安装/升级 git 会让我很高兴:)
假设我想保持最新的 git 版本,甚至是在新的盒子/帐户中新安装,而不必手动执行所有构建步骤。在我的完美世界中,这就像做这样的事情一样简单:
$ git --version
-bash: git: command not found
$ curl -sL https://SOMEURL | bash use latest
downloading v1.8.0...
building v1.8.0...
done!
using git v1.8.0
$ git --version
git version v1.8.0
$ gvm ls
v1.8.0
* default -> 1.8 (v1.8.0)
Run Code Online (Sandbox Code Playgroud)
或者,升级如下:
$ git --version
git version 1.7.9.1
$ gvm ls
v1.7.9.1
v1.7.8
v1.7.7.5
* default -> 1.7 …Run Code Online (Sandbox Code Playgroud)