2012-01-18 53 views
1

對於JavaScript和Haxe來說,這可能有一個簡單的答案,但我發現Haxe在EcodelJS的GoogleCode上有extern port,但它們已過時並且對應於早期版本。我已經能夠在編譯期間修復錯誤,但是我仍然警惕我沒有捕獲新的變量和函數名稱。生成EaselJS的Haxe externs

我的問題是:是否有一個簡單的方法來生成像EaselJS這樣的大型JS庫的extern?

回答

1

你可能想看看約書亞格蘭尼克的工作,BuildJS:

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

基本上有一個名爲JSDuck工具,它應該編制文檔的JavaScript庫,它可以輸出到JSON。他使用JSON的輸出結合他的「buildjs」庫來構建haxe extern。

他將它用於Sencha Touch,我將它用於ExtJS,但這兩種都是Sencha產品,它們的編碼風格已知可與JSDuck一起使用。你可以用EaselJS去試試,如果它能工作的話BuildJS應該會產生相當準確的extern。否則,您可能會嘗試查找原始EaselJS externs的作者,並查看他們是否可以提供更新,或者爲您提供幫助以創建準確的更新。大多數開發商haXe的,你可以很輕鬆地使用聯繫郵件列表或谷歌組:

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

0

對,我也嘗試安裝約書亞的工具,但我正在與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和Windows 7

+0

使用'--export = full'代替'--json'(已被刪除)。 '--guides'參數與導出無關。運行'jsduck --help = full'來獲得所有選項的概述。 – 2012-03-12 19:21:12

1

我有點遲到的答案,但你可以從這裏找到EaselJs最新版本(v0.5.0)實習醫生:

https://github.com/Fintan/easelhx

我生成它們使用BuildHx(https://github.com/jgranick/buildhx),這是現在能夠解析YUIDoc評論,然後通過移植一些伴隨EaselJs源代碼示例的測試它們。