我在一个名为Main.hx的文件中有一个主要的Haxe脚本。在同一个脚本中,我可以导入任何现有的包,包括被认为是包的同一目录中的其他Haxe脚本,但是在嵌套目录中声明的Haxe脚本(应该被视为包)不适用于{{1} (我几乎可以肯定他们被忽略了。)
Haxe只是说import
不存在。当我尝试获取Test
时它会说同样的事情,并且与wow.test.Test
相同。我还尝试将包名称设置为test.Test
./wow/test.hx
和wow.test
,情况也一样。
仅当我将test
扔到test.hx
之外并正常导入其内容时才有效,例如:./wow
而不是test.*
。
我的测试结构:
- ./Main.hx -
wow.test.*
- ./wow/test.hx -
package;
import haxe.unit.TestCase;
import openfl.display.Sprite;
import native.*;
import wow.test.*;
class Main extends Sprite
{
public function new ()
{
super ();
new Test();
}
}
或者我需要配置吗?
答案 0 :(得分:2)
Haxe包是文件夹,它们包含的文件称为模块。模块本身可以包含一个或多个类型。
引用the manual:
类型的(点 - )路径包括包,模块名称和类型名称。它的一般形式是pack1.pack2.packN.ModuleName.TypeName
您的示例中有两个问题:
test.hx
重命名为Test.hx
,则可以使用import wow.Test.Test
导入该类型。但由于模块名称和类型名称相同,因此可以省略模块名称并使用import wow.Test
。package wow;