javascript - 如何在 Haxe 中引用 JavaScript 库

标签 javascript haxe

我在阅读有关流体动力学的内容时遇到了 this很棒的项目。构建它之后,我注意到 demo 中出现的小选项菜单。没有显示。

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

Uncaught ReferenceError: dat is not defined

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

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 时遇到问题!

最佳答案

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

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

includeFile() macro直接将文件嵌入到 .js 中由 Haxe 生成(默认在文件顶部)。这足以让 UI 显示给我:

另一种方法是添加一个 <script>标记到 index.html文件记录 here .我对流程构建工具不够熟悉,无法知道在这种情况下完成了哪些工作,但您必须找到一种方法来:

  • 修改index.html包含 <script> 的模板标签
  • 让它复制min.jsbin/web目录。

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

关于javascript - 如何在 Haxe 中引用 JavaScript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126441/

相关文章:

javascript - 如何让一个div出现在整个网站上?

javascript - jQuery 点击功能不起作用

haxe - Haxe 中 try、catch、finally 的替代方案

javascript - 如何重构这一堆 if 语句?

javascript - Ruby Rails - 为 AJAX 调用 Controller 操作构建数据

javascript - Haxe JavaScript : get and set property by its name without using Reflect

haxe - Haxe 中 JavaScript 的 "setTimeout"在哪里?

Haxe/OpenFL/Flixel

haxe - 解释@:remove @:generic metadata combination

javascript - 在 ng-class 中分配多个速记条件语句