如何在Haxe中引用JavaScript库

问题描述 投票:4回答:1

我正在阅读有关流体动力学的文章,并且遇到了this非常棒的项目。在构建它之后,我注意到demo中出现的小选项菜单没有显示。

因此,由于我对Haxe来说是全新的,我认为添加小GUI选项面板对于尝试熟悉Haxe来说是一个很小的挑战。但是,我遇到了第一个障碍,因为我在尝试构建位于流体实验之上的GUI时遇到以下错误,如演示中所示:

未捕获的ReferenceError:未定义dat

在项目路径目录中,我有一个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();
}

当我运行程序时,控制台会打印出上述错误。

我做的事情:

在路径目录中的project.flow里面,我在构建依赖项中引用了dat(当然下载了dat.gui)。

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

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

javascript haxe
1个回答
4
投票

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

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

includeFile()是一个macro,直接将文件嵌入到Haxe生成的.js中(默认位于文件顶部)。这足以让UI显示给我:

另一种方法是将<script>标签添加到index.html文件中,记录为here。我对流构建工具不太熟悉,知道在这种情况下完成了,但你必须找到一种方法:

  • 修改index.html模板以包含<script>标记
  • 让它将min.js复制到bin/web目录。

所以,是的,includeFile()绝对看起来更方便。 :)

© www.soinside.com 2019 - 2024. All rights reserved.