gpt4 book ai didi

javascript - 谦虚的 Haxe,在非 haxe 友好的目标项目中自动合并 haxe 的方法?

转载 作者:行者123 更新时间:2023-11-28 02:28:53 27 4
gpt4 key购买 nike

对于haxe,我们通常需要使用现有的非haxe代码,因此我们可能希望我们的haxe代码吸收系统的一部分或添加到系统中,而不是编写外部代码,而我们不能假设一个好的haxe设置的系统。

例如,以 js 目标为例,假设我们想要向某些现有的 javascript 代码添加功能,我们无法轻松控制 haxe 的入口点,我们必须在当前 js 代码中注入(inject)功能或类。 JS 代码可能太复杂,无法重新排列成真正 haxe 友好的格式。因此,一种方法是用我们需要的东西模拟一个类,然后尝试创建一些 neko 来自动插入它并转换它,合并到当前的代码库中......但这是一个相当开放式的问题,并且与其他目标。

所以我的问题是,您开发了哪些方法来在现有目标代码中混合 haxe 目标代码,例如在 js 源中添加 haxe 类,也许使用一些 neko 来自动插入并重新排列所需的启动代码haxe 在 haxe 类中。但也对如何在其他目标上实现这一点感兴趣,我可能有 haxe flash 的想法,但不说 PHP 或 c++。假设您无法设置标准的主引导结构,并且在每次发布时,您确实希望在单击构建按钮时将 haxe 代码正确合并回主非 haxe 项目代码中。

棘手但非常重要,因为解决方案使在更多项目中使用 haxe 变得更加容易。

最佳答案

我对你所说的内容只有很少的经验,但这里是:

  • JS - 我使用了一个自定义 Markdown 库( mdown 的变体),它是在主要非 haxe javascript 环境中用 Haxe 编写的。我试图使其尽可能成为“黑匣子” - Haxe 库使用 @:expose metadata 公开了一个静态方法。 ,所以我可以调用 Markdown.convert(str);从我的 Javascript 中的任何地方。我们发现尽可能将其保持为“黑匣子”是有益的,因此非 haxe Javascript 知道要提供什么输入以及预期输出什么,但其他一切都是不透明的。

  • PHP - 我已经完成了一两个项目,其中我在 Haxe 中做了一些工作,并且必须将其包含在现有的 PHP 网站上。我发现我可以利用现有网站 session 来检查用户是否已通过身份验证,并且我为现有网站设置了一种方法,为应用程序的 Haxe 部分提供“基本模板”,然后 Haxe 将其呈现为。相当老套,但它确实起到了作用,意味着 Haxe 部分和非 haxe 部分的模板都已更新。

  • 服务器端的另一种方法可以分为面向用户的代码和 API。因此,也许 Haxe 设置了一个 JSON API,然后 PHP 与之对话。或者您可能有一个 Haxe 网站,它与 Ruby/Python API 等通信。

正如你所看到的 - 我试图让事情变得非常清晰。如果 Haxe 可以以相对独立的方式运行,并通过获取特定输入并提供特定输出与其他代码交互,那么事情的表现就可以相对可预测。我还没有尝试过比这更进一步的集成,我认为 Haxe 的工作方式(使用它自己的类系统和数据结构等)足够不同,紧密的集成可能会出现问题。

关于javascript - 谦虚的 Haxe,在非 haxe 友好的目标项目中自动合并 haxe 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com