Как использовать Jangaroo для преобразования одной функции As3 в javascript?

Я наткнулся на Дженгуру, и он, кажется, обеспечивает то, что мне нужно. Проблема в том, что для его использования документы говорят, что мне нужно настроить Maven.

У меня действительно есть одна функция, так что все это немного излишне.

Идеальным решением было бы что-то похожее на Telerik Code Converter ( http://converter.telerik.com/), но для AS3.

1 ответ

Решение

Я только что обновил документацию о том, как использовать Jangaroo в качестве инструмента командной строки:

https://github.com/CoreMedia/jangaroo-tools/wiki/Stand-Alone-Compiler

Выполнив шаги с 1 по 6, вы можете скомпилировать свой единственный класс следующим образом:

mkdir joo\classes
jooc -v -g SOURCE -classpath %JOOLIBS%\jangaroo-runtime.jar -sourcepath . -d joo\classes GACodec.as

Обратите внимание, что сгенерированный файл JavaScript GACodec.js работает только вместе со средой исполнения jangaroo. На вики-странице продолжаются инструкции о том, как получить работающее веб-приложение. Для вашего класса, вам просто нужно распаковать jangaroo-runtime.jar:

"%JAVA_HOME%\bin\jar" -xf %JOOLIBS%\jangaroo-runtime.jar

Затем вы можете запустить свой класс из крошечного HTML-файла, который выглядит так:

<script src="joo/jangaroo-runtime.module.js"></script>
<script>
  joo.classLoader.import_("GACodec");
  joo.classLoader.complete(function() {
    alert(new GACodec().encode("FOOBAR!"));
  });
</script>

Испытывая ваш код, я заметил, что для его работы необходимо внести небольшие изменения: Jangaroo не генерирует неявный код инициализации для типизированных локальных переменных. В вашем коде есть как минимум две строки, в которых целочисленная переменная объявлена, но не инициализирована явно. ActionScript установил бы его 0, но Дженгуру нет. В любом случае, лучше сделать явную инициализацию, и если вы это сделаете, то есть в вашем исходном коде заменить

var i:int;

от

var i:int = 0;

насколько я могу судить, кажется, работает!

И последнее, я считаю, что использовать Maven проще, чем устанавливать Jangaroo SDK, поскольку вам просто нужно установить Maven один раз, и он позаботится обо всех необходимых загрузках и сделает обновление до последней версии Jangaroo быстрым: просто увеличьте номер версии Jangaroo в своем pom.xmlи Maven позаботится обо всем остальном.

Другие вопросы по тегам