1
我在名爲Main.hx的文件中有一個主要的Haxe腳本。在這個腳本中,我可以導入任何現有的包,包括其他Haxe腳本在同一個目錄中被認爲是包的,但是在嵌套目錄中聲明的Haxe腳本(應該被視爲包)不適用於import
(I' m幾乎可以肯定他們被忽略了)。如何導入嵌套目錄中的包(Haxe)?
Haxe只是說'Test
不存在。當我試圖得到wow.test.Test
它說的是相同的東西,並且與test.Test
相同。我也嘗試將./wow/test.hx
的包名設置爲wow.test
和test
,這也是相同的情況。
它只有在./wow
之外拋出test.hx
並正常導入它的東西時才起作用,如:test.*
而不是wow.test.*
。
我的測試結構:
- ./Main.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();
}
}
- ./wow/test.hx -
package;
class Test
{
public function new()
{
trace("Dum !!");
}
}
或者我需要配置它嗎?
這解決了這個問題,它在控制檯中正確記錄,當我構建'Test',但我只能訪問它裏面'wow.Test' 。我試圖在導入時聲明這個:'wow.test.Test',但是編譯器在'wow.test'上說'Test'不存在。但是這對我有很大的幫助......嗯,這就解釋了爲什麼包在我的主要腳本中必須是空的。 – Hydro
看來,haxe編譯器不允許模塊以小寫字母開頭,我編輯了答案以反映這一點。 – memilian
它現在是有道理的。感謝有興趣的細節 – Hydro