Где я должен хранить настройки для моей программы JavaScript? - PullRequest
8 голосов
/ 25 октября 2010

- Полное раскрытие - это домашнее задание, и это мой замкнутый проект. -

Я написал свое первое большое графическое приложение Javascript Obj-Oriented (гистограммы, диаграммы Ганта и т. Д.), И я хотел бы дать пользователям возможность настраивать вывод - такие как размер шрифта, цвета диаграмм и т. Д.

Прямо сейчас я передаю конфигурационный файл, который содержит глобальные переменные, которые либо A) жестко запрограммированы, либо B) извлекают параметры из URL. (Для ясности, я думаю это файл "config" - это просто файл * .js с кучей глобалов в in).

У меня такой вопрос - есть ли лучший способ сделать это, чем загрузка файла конфигурации в глобальное пространство? Что такое «лучшая практика» для такого рода вещей? Должен ли я иметь объект «настройки»? Или сохранить настройки в XML-файле?

Ответы [ 2 ]

8 голосов
/ 25 октября 2010

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

if (!window.my_project) {
    window.my_project = {};

    my_project.SOME_CONFIGURATION_VALUE = 1;
    my_project.some_function = function(){};
    ...
}
2 голосов
/ 25 октября 2010

Согласно комментарию Никиты, может быть лучше сохранить настройки в пространстве имен проекта.

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

Хотя эта идея может быть излишней! Просто подумал, что стоит поставить туда!

...