gpt4 book ai didi

haxe - 编译成 ES6?

转载 作者:行者123 更新时间:2023-12-04 17:59:35 24 4
gpt4 key购买 nike

我将如何编译

export default User
import socket from "./socket"

这个带有 haxe 的 ES6 javascript 函数?

import socket from "./socket"
let User = {
init(socket, element) {
if (!element) {
return
}
let userId = element.getAttribute("data-id")
userId= Math.random()
socket.connect()
this.onReady(userId, socket)
}
}
export default User

最佳答案

实际上,我不久前也有同样的需求,以便与 Ember 2.0/Ember CLI 集成。我没有找到使用纯 Haxe 的方法,唯一的选择是:

1) 构建自定义 js 生成器 - 笨拙,因为你失去了内置 js 生成器的优点,因为对你使用的功能没有粒度控制 - 全有或全无 - 即你可以不要只更改 AST 中某个表达式/类型的输出,也不能在需要时引用内置生成器并委托(delegate)给它。

2) 解析hx 文件、删除ES6 代码、编译文件并添加ES6 代码的预处理器,同样笨拙,但可能会工作。

3) 破解编译器的 OCAML 代码并添加某种类级别的元数据标记,例如 @:ESImport("import {foo} from bar"), @ :ESExport("导出默认 foo")。这也可以通过#1(自定义 js 生成)来完成,但是通过修改 OCaml 代码,您可以保留内置的 js 生成。

我现在已经放弃将 Haxe 代码与 ES6 集成,我希望 Haxe 对 ES6(即 ES2016 生成器)有更好的内置支持,或者为 JS 自定义生成器 API 提供更细粒度的 Hook 。

作为引用,这是我发给 Haxe 邮件列表的关于这个问题的消息:https://groups.google.com/forum/#!topic/haxelang/jSTkkaNgfB8 .

关于haxe - 编译成 ES6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237323/

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