Как автоматически добавить gwt.codesvr к URL страницы - PullRequest
3 голосов
/ 23 января 2012

При запуске приложения GWT в размещенном режиме обычно требуется добавить местоположение сервера кода в параметре строки запроса, например, вместо index.html может потребоваться открыть index.html?gwt.codesvr=127.0.0.1:9997.Проблема в том, что gwt.codesvr обычно не включается в гиперссылки, поэтому его нужно добавлять вручную.Добавление его ко всем ссылкам в вашем приложении не кажется хорошей идеей, так как это повлияет на окончательную версию, скомпилированную GWT.Другим вариантом для index.html является самоанализ с помощью JavaScript и добавление значения по умолчанию gwt.codesvr к window.location, но это следует делать только после того, как приложение убедится, что оно не скомпилировано, то есть после предупреждения GWT module may need to be (re)compiled,Я полагаю, что идеальным решением для GWT было бы позволить настроить действие, которое он выполняет после того, как не нашел вариантов для выбора.Действие по умолчанию - показывать только что упомянутое предупреждение, но, к сожалению, его нельзя настроить.

Поэтому мой вопрос заключается в следующем: каков наилучший способ автоматического открытия текущей страницы со значением по умолчанию gwt.codesvr, когда нет скомпилированных перестановок.

Ответы [ 3 ]

5 голосов
/ 23 января 2012

Я сделал букмарклет, который я нажимаю, чтобы отладить текущую страницу:

javascript:window.location+=(window.location.href.indexOf('?')==-1?"?":"&")+"gwt.codesvr=localhost:9997"

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

Возможно, стоит отметить, что это можно использовать даже на производственном сервере, если у вас локально такой же код клиента, что и этот.сервер работал.

2 голосов
/ 03 февраля 2012

Поскольку я все время имею дело с «Местами», я обновил букмарклет, чтобы он также работал с «#».

javascript:(function(){h="localhost";p="9997";l="gwt.codesvr="+h+":"+p;s=false;if(document.location.href.indexOf("gwt.codesvr")<0){q=document.location.href.indexOf("?");if(q<0){q=document.location.href.indexOf("#");if(q>0){q=q-1}s=true}if(q<0&&!s){document.location.href=document.location.href+"?"+l}else%20if(q>=0&&!s){b=document.location.href.substr(0,q+1);e=document.location.href.substr(q+1);document.location.href=b+l+"&"+e}else{b=document.location.href.substr(0,q+1);if(q<0){e=""}else{e=document.location.href.substr(q+1)}document.location.href=b+"?"+l+e}}})();

Обновление 2/7 / 2017- В сценарии была опечатка.Исправил это.

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

Поскольку этот URL будет использоваться только для разработки (и, возможно, несколько раз для удаленной отладки), просто добавьте в закладки http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997 (или любой другой порт, который вы используете).

...