我已经编写了我的第一个大型面向对象的 Javascript 图表应用程序(条形图、甘特图等),我想为用户提供自定义输出的选项 - 例如字体大小、图表颜色等。
现在,我传入一个配置文件,其中包含全局变量,这些全局变量要么是 A) 硬编码,要么是 B) 从 URL 中提取参数。 (要明确的是,我认为它是一个“配置”文件——它只是一个 *.js 文件,其中包含一堆全局变量)。
有没有比将配置文件加载到全局空间更好的技术来做到这一点?此类事情的“最佳实践”是什么?我应该有一个“设置”对象吗?或者将设置存储在 xml 文件中?
有没有比将配置文件加载到全局空间更好的技术?
通常,您定义自己的自定义命名空间,因此您的数据不会干扰任何其他脚本定义的数据。类似于
if (!window.my_project) {
window.my_project = {};
my_project.SOME_CONFIGURATION_VALUE = 1;
my_project.some_function = function(){};
...
}
根据 Nikita 的评论,最好将设置存储在项目命名空间下。
也可以将配置存储为 JSON,然后同步或异步加载它——具体取决于您的偏好。这使您可以在其他地方维护程序逻辑,而无需依赖于必须为其分配对象的特定变量(即
myProj.settings=...
)的配置文件。因此,为了可维护性,与程序逻辑无关的 JSON 设置可能是最好的......
这个想法可能有点过分了! 只是觉得值得放在那里!