- 完全披露 - 这是家庭作业,这是我的顶点项目。 -
我已经编写了我的第一个面向对象的大型Javascript图表应用程序(条形图,甘特图等),我想给用户提供自定义输出的选项 - 比如字体大小,图表颜色等。
现在,我正在传递一个包含全局变量的配置文件,这些变量是A)硬编码的,或者B)从URL中提取params。 (要清楚,我认为是一个“配置”文件 - 它只是一个带有一堆全局变量的* .js文件。)
我的问题是 - 除了将配置文件加载到全局空间之外,还有更好的技巧吗?这类事物的“最佳实践”是什么?我应该有“设置”对象吗?或者将设置存储在xml文件中?
答案 0 :(得分:8)
有没有比将配置文件加载到全局空间更好的技术?
通常,您定义自己的自定义命名空间,因此您的数据不会干扰任何其他脚本定义的数据。像
if (!window.my_project) {
window.my_project = {};
my_project.SOME_CONFIGURATION_VALUE = 1;
my_project.some_function = function(){};
...
}
答案 1 :(得分:2)
根据Nikita的评论,最好将设置存储在项目命名空间下。
将配置存储为JSON然后同步或异步加载它也可行 - 具体取决于您的偏好。这使您可以在其他地方维护程序逻辑,而不必拥有一个配置文件,该配置文件依赖于必须为其分配对象的某个变量(即myProj.settings=...
)。因此,出于可维护性的考虑,与程序逻辑无关的JSON设置可能是最好的......
这个想法可能有点矫枉过正了! 只是觉得值得推出!