Как автоматически добавить gwt.codesvr к URL страницы

При запуске приложения 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 ответа

Решение

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

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 - в сценарии была опечатка. Исправил это.

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

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

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

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

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

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