Кто-либо использует файлы конфигурации для JavaScript?

У нас есть файлы JavaScript, которые являются конкретной средой, и таким образом, я думал о потере работоспособности по пути о создании универсального способа считать в XML (конфигурация) файл для хранения другой среды определенные настройки. Мне было любопытно знать, делает ли кто-либо еще на здесь это (или в противном случае есть ли причина, почему Вы не делаете)?

42
задан Justin Helgerson 5 May 2010 в 18:35
поделиться

5 ответов

JSON в сотни раз быстрее потребляется, чем XML, поэтому можно использовать собственный объект JavaScript. Прикрепи и забудь.

РЕДАКТИРОВАТЬ:

Пример Джеймса Вестгейта - JSON. Вы можете использовать этот встроенный или как внешний файл или даже загружать через AJAX.

Вот еще один пример:

var clientData = {}
clientData.dataset1 = [
    {name:'Dave', age:'41', userid:2345},
    {name:'Vera', age:'32', userid:9856}
]

alert(clientData.dataset1[0].name)
26
ответ дан 26 November 2019 в 23:49
поделиться

Вы можете легко извлечь XML файлы, используя что-то вроде jquery (http://think2loud.com/reading-xml-with-jquery/).

Однако я хотел бы задать вопрос, действительно ли код javascript на стороне клиента, специфичный для среды, является хорошей идеей. Кажется, что любая специфическая среда (т.е. qa, uat, production, я полагаю) должна обрабатываться на сервере, а клиент должен быть независим от среды

.
0
ответ дан 26 November 2019 в 23:49
поделиться

Почему бы не использовать отдельный js-файл для хранения настроек, специфичных для среды?

Точно так же, как вы можете использовать несколько CSS-файлов для стилизации страницы, вы можете использовать несколько js-файлов.

Таким образом, вы можете создать файл app-config.js с определенными настройками:

var SiteName = "MyWebsite.com";
var HeaderImage = "http://mycdn.com/images/mywebsite/header.png";

А затем включить js в ваши страницы, например, так:

<script type="text/javascript" src="/js/app-config.js"></script>
<script type="text/javascript" src="/js/app.js"></script>
9
ответ дан 26 November 2019 в 23:49
поделиться

Все, что вам нужно сделать, это загрузить файл javascript с некоторыми определениями переменных, в идеале с разграничением имен. Для этого можно использовать один объектный литерал:

var config = {
  option1: 'good;', 
  option2: {name: 'bad'}, 
  option3: ['u','g','l','y']
}

Затем загрузите этот файл в качестве первого скрипта, и у вас будет доступ к информации о конфигурации в каждом последующем скрипте, например

if (config.option1 == 'good') doStuff();
29
ответ дан 26 November 2019 в 23:49
поделиться

Вы можете подумать о том, чтобы сами страницы включали в себя небольшие блоки Javascript для предоставления именно такой информации о конфигурации. Часто вам действительно нужен лишь небольшой объем информации для построения URL и т. Д. Я приведу пример JSP:

<script>
  var appConfig = {
    'syndicate': '${environ.syndicate}',
    'urlBase': '${environ.urlBase}'
  };
</script>

Тогда ваш «чистый» код Javascript может обратиться к window.appConfig для получения важной информации . Очевидно, это будет беспорядок, если вам понадобится много всего.

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

( отредактировано, чтобы исключить странное объявление переменных )

5
ответ дан 26 November 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: