Генерация Haxe externs для EaselJS - PullRequest
1 голос
/ 18 января 2012

Будучи новичком в JavaScript и Haxe, у этого может быть простой ответ, но я обнаружил, что Haxe имеет внешний порт в GoogleCode для EaselJS, но они устарели и соответствуют более ранней версии.Мне удалось исправить ошибки по мере их появления во время компиляции, но я все еще опасаюсь, что я не перехватил все новые переменные и имена функций.

Мой вопрос: есть ли простой способсоздать externs для большой библиотеки JS, такой как EaselJS?

Ответы [ 3 ]

1 голос
/ 19 ноября 2012

Я немного опоздал с ответом, но вы можете найти последние версии (v0.5.0) для EaselJ:

https://github.com/Fintan/easelhx

Я сгенерировал их, используя BuildHx (https://github.com/jgranick/buildhx), который теперь может анализировать комментарии YUIDoc и затем проверять их, перенося некоторые примеры кода, которые сопровождают источник EaselJs.

1 голос
/ 19 января 2012

Возможно, вы захотите взглянуть на работу Джошуа Граника с 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 и посмотреть, смогут ли они предоставить обновление илиВы помогаете создать точное обновление.С большинством разработчиков haxe вы можете связаться достаточно легко, используя список рассылки или группы Google:

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

0 голосов
/ 20 января 2012

Правильно, я попытался установить инструмент Джошуа, но у меня возникла проблема с 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.

...