为EaselJS生成Haxe外部

Generating Haxe externs for EaselJS

本文关键字:外部 Haxe 生成 EaselJS      更新时间:2023-09-26

作为JavaScript和Haxe的新手,这可能有一个简单的答案,但我发现Haxe在EaselJS的GoogleCode上有外部端口,但它们已经过时,与早期版本相对应。我已经能够修复编译时出现的错误,但我仍然担心我没有掌握所有新的变量和函数名。

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

您可能想看看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-extens。

他在Sencha Touch中使用过它,我在ExtJS中也使用过它。但这两种产品都是Sencha产品,众所周知,它们的编码风格可以与JSDuck一起使用。你可以试试EaselJS,如果它有效,那么BuildJS应该会生成非常准确的外部。

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

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

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

https://github.com/Fintan/easelhx

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

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

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

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

但这行不通。无论我尝试什么,向导参数似乎都会失败。

创建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和Windows7。