在没有主入口点的情况下编译Haxe

时间:2016-06-22 09:54:09

标签: haxe

我正在尝试编译Haxe类而不使用构建hxml文件定义入口点。

我的文件夹结构如下所示:

root
|
 ___src
     |___Test.hx
|
 ___build.hxml

Test.hx具有以下内容:

package foo;

class BarLib 
{
      public function new()  {}

      public function test() {
            return "Hello from BarLib!";
      }
}

build.hxml看起来像这样:

-cp src 
--macro "include('foo')"
-js test.js

然后我从创建文件haxe build.hxml的根文件夹运行test.js,但其内容几乎为空:

// Generated by Haxe 3.3.0
(function () { "use strict";
})();

似乎无法找到包foo

我做错了什么?

2 个答案:

答案 0 :(得分:7)

您声明Test.hxfoo包的一部分,但是,它位于名为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!";
    }
};
})();

有一个名为Test.hx的文件并没有真正定义名为Test的类型,这也有点不寻常。 BarLib.hx可能是一个更好的名字。

答案 1 :(得分:1)

你也可以使用haxe -cp src foo.Test编译一个没有入口点的类(及其引用)