【问题标题】:Generating Haxe externs for EaselJS为 EaselJS 生成 Haxe 外部
【发布时间】:2012-01-18 03:15:42
【问题描述】:

作为 JavaScript 和 Haxe 的新手,这可能有一个简单的答案,但我发现 Haxe 在 GoogleCode for EaselJS 上有 externs 端口,但它们已经过时并且对应于早期版本。我已经能够修复在编译期间发生的错误,但我仍然担心我没有捕获所有新变量和函数名称。

我的问题是:有没有一种简单的方法可以为像 EaselJS 这样的大型 JS 库生成外部?

【问题讨论】:

    标签: javascript haxe easeljs


    【解决方案1】:

    您可能想看看 Joshua Granick 与 BuildJS 的合作:

    http://www.joshuagranick.com/blog/2011/10/14/use-buildjs-to-make-externs-for-haxe-js-automatically/

    基本上有一个名为 JSDuck 的工具,它应该为 JavaScript 库编译文档,并且可以输出为 JSON。他使用 JSON 的输出,结合他的“buildjs”库来构建 haxe externs。

    他将它用于 Sencha Touch,我也将它用于 ExtJS,但它们都是 Sencha 产品,并且众所周知,它们的编码风格可以与 JSDuck 一起使用。你可以试试 EaselJS,如果它可以工作,那么 BuildJS 应该会生成非常准确的外部。

    否则,您可能会尝试找到原始 EaselJS externs 的作者,看看他们是否可以提供更新,或者帮助您创建准确的更新。您可以使用邮件列表或 google 群组轻松联系大多数 haxe 开发人员:

    http://groups.google.com/group/haxelang?hl=en

    【讨论】:

      【解决方案2】:

      我的答案有点晚了,但你可以在这里找到 EaselJs 的最新 (v0.5.0) externs:

      https://github.com/Fintan/easelhx

      我使用 BuildHx (https://github.com/jgranick/buildhx) 生成它们,它现在能够解析 YUIDoc cmets,然后通过移植 EaselJs 源代码随附的一些代码示例来测试它们。

      【讨论】:

        【解决方案3】:

        好吧,我确实尝试安装 Joshua 的工具,但我遇到了 JSDuck 的问题。

        在您链接到的示例中,JSDuck 应该具有 --json 参数,但最新版本似乎已弃用该参数。我正在使用配置文件尝试其他一些:

        {    
        "--out": "out",
        "--guides": "json",
        "--warnings": ["all"],
        "--": [
            "src/easeljs/"
        ]}
        

        但这不起作用。无论我尝试什么,guides 参数似乎都失败了。

        创建 json 文件给了我这个输出:

        C:/Users/mycmp/AppData/Local/Temp/ocr374A.tmp/lib/ruby/gems/1.8/gems/jsduck-3.3.0/lib/jsduck/json_duck.rb:36:in `read': Permission denied - K:/Vault/Haxe/myproj/json (Errno::EACCES)
        

        所以我不确定下一步该做什么。让它适用于许多图书馆会很棒。

        顺便说一句,我使用的是最新的 JSDuck 和 Windows 7。

        【讨论】:

        • 使用--export=full 代替--json(已被删除)。 --guides 参数与导出无关。运行 jsduck --help=full 以查看所有选项的概述。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多