2012-02-17 3 views
1

Кто-нибудь знает, почему моя сборка «generate.py» работает просто отлично, но когда я запускаю «source.py source», он не может найти: «http: //localhost/qooxdoo-1.6 -sdk/рамки/источник/класс/QX/Bootstrap.js NoCache = +0,39702596611879537"Источник Qooxdoo не работает, но build делает

это потому, что она должна быть: http://localhost/ * имя пользователя/ * qooxdoo-1,6-SDK/рамки/источник/класс/QX/Bootstrap.js? NoCache = +0,39702596611879537"

, но я не могу найти, где этот параметр.

Я попытался редактировать переменную «QOOXDOO_PATH» в config.json, но это, похоже, не сработало.

Пожалуйста, помогите, спасибо!

ответ

1

Вы не можете просто запускать исходную версию через веб-сервер без принятия каких-либо мер предосторожности. Генератор генерирует относительные URI, которые хорошо работают на уровне файловой системы (т. Е. Когда вы открываете приложение с помощью протокола file:// в браузере). Но относительные пути нестабильны под веб-сервером.

В качестве простого примера, если у вас есть файл /foo/bar/baz/index.html, который ссылается на ../../bong/other.png, other.png будет найден в файловой системе в /foo/bong/. Но если у вас есть веб-сервер на этом компьютере с DocumentRoot /foo/bar/, URL-адрес для загрузки index.html равен http://localhost/baz/index.html, и вышеупомянутая относительная ссылка перешагнула корень веб-сервера и вызовет ошибку.

Один из способов сделать эту работу, чтобы убедиться, что DocumentRoot вашего веб-сервера является выше корневые каталоги всех вовлеченных библиотек ваше приложение с помощью (то есть ваше приложение себя, в qooxdoo SDK, другие Lib/вклад вы используете и т. д.). См. here для более полного объяснения.

Не играйте с QOOXDOO_PATH, так как это необходимо, чтобы найти классы фреймворков и создать ваше приложение в первую очередь.

+0

Спасибо, это была моя проблема! Я создавал источник на веб-сервере с файлами qooxdoo ниже корня сети. Эта ссылка была действительно информативной! Спасибо еще раз за помощь! – Jonathan

+0

Хотя это, безусловно, так, как Джонатан показывает, что он делает версию сборки, он действительно должен развертывать директорию сборки на своем веб-сервере, как указано в ссылке, которую вы предоставили, ThomasH. Спасибо за это. –

+0

Да, но также понятно, что люди хотят запускать исходную версию через веб-сервер по разным причинам. Возможно, qooxdoo должен сделать этот сценарий более доступным и «основным потоком». – ThomasH

0

убедитесь, что вы используете относительный путь при установке местоположения источника:

../../../../../../../../home/*user*/qooxdoo-1.6-sdk 

, если вы работаете с Perl, я рекомендую использовать колдовские привязки http://qooxdoo.org/contrib/project/rpcperl-mojo они позволяют запустить и сборку и исходную версию через встроенный веб-сервер, заботясь обо всех магиях пути.

Смежные вопросы