我正在尝试为haxe库创建一些命令,但是我遇到了问题。实际上,我想在发送命令haxelib run <mylib> <command>
的目录中生成一些文件和目录。
但是,当它运行时,它将在我的lib目录(run.n所在的目录)中生成数据。我的路径如下:
Sys.getCwd() + "/myfile.txt"
我也试过
"myfile.txt"
总是一样的东西。也许是因为我用
haxelib git
安装了我的库?flixel-tools的命令也会生成一些东西,但这直接与
flixel tpl -n 'name'
一起使用。他们不使用haxelib run flixel
。这就是为什么它对他们有用吗?
谢谢,如果您有想法。
最佳答案
在Using haxelib Wiki页面上:
从haxelib调用run.n时,当前工作目录将
设置为库目录(例如/ usr / lib / haxe / lib / somelib / 1,0 /)。
相反,被调用的haxelib目录将作为
多余的参数,放在参数数组的末尾。
用法示例:
var haxelibDir = Sys.getCwd();
var userDir = Sys.args().pop();
Sys.setCwd( userDir );
// Now copy a sample file from the haxelib dir to the user's current dir:
var content = File.getContent( '$haxelibDir/tpl/myfile.txt' );
File.saveContent( '$userDir/myfile.txt', content );