我正在尝试为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 );

07-24 15:53