我应该在哪里存储 javascript 程序的设置?

问题描述 投票:0回答:2

我已经编写了我的第一个大型面向对象的 Javascript 图表应用程序(条形图、甘特图等),我想为用户提供自定义输出的选项 - 例如字体大小、图表颜色等。

现在,我传入一个配置文件,其中包含全局变量,这些全局变量要么是 A) 硬编码,要么是 B) 从 URL 中提取参数。 (要明确的是,我认为它是一个“配置”文件——它只是一个 *.js 文件,其中包含一堆全局变量)。

有没有比将配置文件加载到全局空间更好的技术来做到这一点?此类事情的“最佳实践”是什么?我应该有一个“设置”对象吗?或者将设置存储在 xml 文件中?

javascript global
2个回答
8
投票

有没有比将配置文件加载到全局空间更好的技术?
通常,您定义自己的自定义命名空间,因此您的数据不会干扰任何其他脚本定义的数据。类似于

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

    my_project.SOME_CONFIGURATION_VALUE = 1;
    my_project.some_function = function(){};
    ...
}

3
投票

根据 Nikita 的评论,最好将设置存储在项目命名空间下。

也可以将配置存储为 JSON,然后同步或异步加载它——具体取决于您的偏好。这使您可以在其他地方维护程序逻辑,而无需依赖于必须为其分配对象的特定变量(即

myProj.settings=...
)的配置文件。因此,为了可维护性,与程序逻辑无关的 JSON 设置可能是最好的......

这个想法可能有点过分了! 只是觉得值得放在那里!

© www.soinside.com 2019 - 2024. All rights reserved.