如何在Haxe中引用JavaScript库

如何在Haxe中引用JavaScript库,javascript,haxe,Javascript,Haxe,我在读流体力学的书,偶然发现了一个很棒的项目。构建之后,我注意到显示在中的小选项菜单没有显示 因此,由于我对Haxe完全陌生,我认为添加小GUI选项面板对于熟悉Haxe来说是一个巨大的挑战。然而,我在第一个关口跌倒了,因为我在尝试构建位于流体实验顶部的GUI时遇到了以下错误,如演示中所示: 未捕获引用错误:未定义dat 在projects路由目录中,我有一个src文件夹,然后是Main.hx;在Main.hx函数的init()底部,我正在执行以下操作: import dat.GUI; func

我在读流体力学的书,偶然发现了一个很棒的项目。构建之后,我注意到显示在中的小选项菜单没有显示

因此,由于我对Haxe完全陌生,我认为添加小GUI选项面板对于熟悉Haxe来说是一个巨大的挑战。然而,我在第一个关口跌倒了,因为我在尝试构建位于流体实验顶部的GUI时遇到了以下错误,如演示中所示:

未捕获引用错误:未定义dat

在projects路由目录中,我有一个
src
文件夹,然后是
Main.hx
;在
Main.hx
函数的
init()
底部,我正在执行以下操作:

import dat.GUI;

function init():Void {
    //other unrelated code goes here

    var gui = new dat.GUI({autoPlace: true});
    //particle count
    var particleCountGUI = gui.add(particles, 'count').name('Particle Count').listen();
}
当我运行这个程序时,控制台会打印上面提到的错误

我做过的事情:

在route目录中的
project.flow
中,我在构建依赖项中引用了dat(当然也下载了)

我甚至尝试过使用其他框架来构建GUI,但即使构建成功,控制台日志中也会不断出现错误。我很幸运地得到了一个面板,但它并没有坐在流体实验的顶部,而是把整个东西往下推,所以面板和流体实验之间有一个空间


理想情况下,我希望重新创建演示中显示的选项面板,但将其设置为可滚动列表。但是,我需要首先了解我为什么在
dat
方面遇到问题

我能想到的最简单的解决方案是将其添加到
init()
(假设
.js
位于项目根目录中):

是一个直接将文件嵌入Haxe生成的
.js
中的函数(默认情况下位于文件顶部)。这足以让UI为我显示:

另一种方法是在
index.html
文件中添加一个
标记。我对flow build工具不太熟悉,不知道在这种情况下是如何完成的,但您必须找到一种方法:

  • 修改
    index.html
    模板以包含
    标记
  • min.js
    复制到
    bin/web
    目录
所以,是的,
includeFile()
显然是更方便的选择

haxe.macro.Compiler.includeFile("dat.gui.min.js");