Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

EDIT:

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

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

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

alert(clientData.dataset1[0].name)

Ответ 2

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

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

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

if (config.option1 == 'good') doStuff();

Ответ 3

Почему бы не использовать отдельный файл 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>

Ответ 4

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

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

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

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

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

Ответ 5

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

Тем не менее, я хотел бы представить, действительно ли полезная идея для JavaScript на стороне клиента javascript-кода. Похоже, что любая конкретная среда (т.е. Qa, uat, производство, которую я предполагаю) должна обрабатываться на сервере, а клиент должен быть агностиком среды