Pull to refresh

QooxDoo: запуск source-версии с denwer

Reading time2 min
Views744
QooxDoo — достаточно хорошо проработанная JS-библиотека для разработки RIA (Rich Internet Applications). Углубляться в подробности библиотеки и описывать, откуда растут ноги проблемы не буду. Кто столкнулся с проблемой — тот поймет что к чему.
И так. Проблема заключается в том, что source-версия приложения, в том виде в котором ее собирает компилятор, не запускается с вебсервера (эмулирует denwer) а только как локальный файл.

Другими словами:
_C:/WebServers/home/localhost/www/app/index.htmlзапускается
_http://localhost/appНЕ запускается

Это приводит к тому, что в source-версии не работают обычные AJAX-запросы (для кросдоменной работы приходится использовать JSON-P), а также не работает работа с внешними флешовыми объектами (так же проблема с доменами). Хотя в результате build-версия работает без проблем.

Путем экспериментов было найдено решение проблемы. Суть — использование при создании скелета приложения абсолютных ссылок на файлы вместо относительных. Решение — заменить в config.json приложения путь в переменной QOOXDOO_PATH c «C:/your_path» на нечто вроде "../../your_path". НО! Следует помнить, что директория самого qooxdoo, на которую этот путь будет указывать, должна также лежать в структуре директорий денвера (т.е. на самом виртуальном диске Z, или как вы там его назвали при установке). Иначе денвер не подхватит ссылку.

В скрипте generate.py также есть путь к дистрибутиву qooxdoo, но в данном случае относительность пути не критична — питон компилирует скрипты и с абсолютными путями.

Кроме того, на сколько мне удалось выяснить, source-версия не будет работать с внешними библиотеками. По крайней мере, при попытке подключить через jobs работу с внешним интерфейсом для Open Flash Chart, source не захотела работать, при этом build работала нормально. Внешнее подключение пришлось заменить внесением классов интерфейса внутрь приложения.

UPD: Запускаемая с сервера source-версия тянет отдельным запросами все, я так понимаю, затронутые классы-js_файлы. Если в окне включен firebug — он легко вешает барузер. Помогает отключение панели «сеть» на время запуска.
Tags:
Hubs:
-1
Comments3

Articles