Генериране на Haxe externs за EaselJS

Тъй като съм нов както в JavaScript, така и в Haxe, това може да има прост отговор, но открих, че Haxe има външен порт на GoogleCode за EaselJS, но те са остарели и съответстват на по-ранна версия. Успях да коригирам грешките, които се появяват по време на компилиране, но все още съм предпазлив, че не съм хванал всички нови променливи и имена на функции.

Въпросът ми е: има ли прост начин за генериране на външни за голяма JS библиотека като EaselJS?


person Alex B    schedule 18.01.2012    source източник


Отговори (3)


Може да искате да разгледате работата на Джошуа Граник с 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=bg

person Jason O'Neil    schedule 19.01.2012

Малко закъснях с отговора, но можете да намерите най-новите (v0.5.0) екстерни за EaselJs тук:

https://github.com/Fintan/easelhx

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

person fintan    schedule 19.11.2012

Добре, опитах да инсталирам инструмента на 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.

person Makai Media    schedule 19.01.2012
comment
Вместо --json (което е премахнато) използвайте --export=full. Параметърът --guides няма нищо общо с експортирането. Стартирайте jsduck --help=full за преглед на всички опции. - person Rene Saarsoo; 12.03.2012