Как выделить константы для JavaScript? - PullRequest
2 голосов
/ 09 сентября 2011

У меня есть веб-страница, созданная с помощью JavaServer Pages (JSP) и значительного JavaScript (JS), который выполняет вызовы на другие серверы. URL-адрес, с которым переходит страница, зависит от того, на каком сервере (читай: среда) я развернут.

У меня есть две возможные стратегии (по крайней мере), которые я могу использовать.

  1. Я могу определить константу имени сервера в файле JS и использовать тег сценария на этой веб-странице.
  2. Я могу написать переменную JS со страницей JSP в качестве динамического содержимого.

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

1 Ответ

1 голос
/ 09 сентября 2011

У меня та же проблема, честно говоря, я понятия не имею, каков «правильный» способ сделать это, но я ненавижу глобальные переменные, поэтому в настоящее время я делаю это так,

В JSP

<script src="${pageContext.request.contextPath}/js/script.min.js"></script>
<script type="text/javascript">
     init('${pageContext.request.contextPath}');
</script>

Тогда JS,

function init(baseURL, undefined){
  ...
}

Тогда не о чем беспокоиться.

...