如何在 Haxe 中引用 JavaScript 库
How to reference a JavaScript library in Haxe
我正在阅读有关流体动力学的内容,发现 this awesome project. After building it, I noticed that the little option menu that appears in the 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,但即使构建成功,我也会在控制台日志中不断收到错误消息。我确实很幸运地添加了一个面板,但它并没有坐在流体实验的顶部,而是将整个东西向下推,因此在面板和流体实验之间有一个 space。
理想情况下,我想重新创建演示中显示的选项面板,但改为将其设为可滚动列表。但是,我需要先了解为什么 dat
有问题!
我能想到的最简单的解决方案是将其添加到 init()
(假设 .js
位于项目根目录中):
haxe.macro.Compiler.includeFile("dat.gui.min.js");
includeFile()
is a macro 直接将文件嵌入到 Haxe 生成的 .js
中(默认在文件顶部)。这足以让 UI 出现在我面前:
另一种方法是将 <script>
标记添加到 index.html
文件,如 here 所述。我对流构建工具不够熟悉,不知道在这种情况下是如何完成的,但你必须找到一种方法来:
- 修改
index.html
模板以包含 <script>
标签
- 让它复制
min.js
到 bin/web
目录。
是的,includeFile()
绝对是更方便的选择。 :)
我正在阅读有关流体动力学的内容,发现 this awesome project. After building it, I noticed that the little option menu that appears in the 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,但即使构建成功,我也会在控制台日志中不断收到错误消息。我确实很幸运地添加了一个面板,但它并没有坐在流体实验的顶部,而是将整个东西向下推,因此在面板和流体实验之间有一个 space。
理想情况下,我想重新创建演示中显示的选项面板,但改为将其设为可滚动列表。但是,我需要先了解为什么 dat
有问题!
我能想到的最简单的解决方案是将其添加到 init()
(假设 .js
位于项目根目录中):
haxe.macro.Compiler.includeFile("dat.gui.min.js");
includeFile()
is a macro 直接将文件嵌入到 Haxe 生成的 .js
中(默认在文件顶部)。这足以让 UI 出现在我面前:
另一种方法是将 <script>
标记添加到 index.html
文件,如 here 所述。我对流构建工具不够熟悉,不知道在这种情况下是如何完成的,但你必须找到一种方法来:
- 修改
index.html
模板以包含<script>
标签 - 让它复制
min.js
到bin/web
目录。
是的,includeFile()
绝对是更方便的选择。 :)