我正在尝试编译Haxe类而不使用构建hxml文件定义入口点.
我的文件夹结构如下所示:
root
|
___src
|___Test.hx
|
___build.hxml
Run Code Online (Sandbox Code Playgroud)
Test.hx 具有以下内容:
package foo;
class BarLib
{
public function new() {}
public function test() {
return "Hello from BarLib!";
}
}
Run Code Online (Sandbox Code Playgroud)
build.hxml 看起来像这样:
-cp src
--macro "include('foo')"
-js test.js
Run Code Online (Sandbox Code Playgroud)
然后我haxe build.hxml从创建文件的根文件夹运行test.js,但其内容几乎为空:
// Generated by Haxe 3.3.0
(function () { "use strict";
})();
Run Code Online (Sandbox Code Playgroud)
似乎无法找到包裹foo.
我究竟做错了什么?
您声明Test.hx是foo包的一部分,但是,它被放在一个名为的文件夹中src.如果将其移动到src/foo,Haxe会产生以下输出:
// Generated by Haxe 3.3.0
(function () { "use strict";
var foo_BarLib = function() {
};
foo_BarLib.prototype = {
test: function() {
return "Hello from BarLib!";
}
};
})();
Run Code Online (Sandbox Code Playgroud)
如果一个名为的文件Test.hx实际上没有定义一个名为的类型,那也有点不寻常Test.BarLib.hx可能是一个更好的名字.