javascript项目中的本地设置

时间:2012-03-05 19:22:32

标签: javascript django backbone.js settings conventions

我正在使用使用一堆全局设置的主干的开源JavaScript项目。对于本地开发,我们希望每个开发人员能够设置自己的设置,但我们希望它存在于单独的文件中,以便我们可以使用.gitignore将其从存储库中排除。

我来自Django背景,惯例是设置一个settings.py和local_settings.py,其中settings.py只是这样:

try:
    from local_settings import *
except:
    pass

本地设置是否有等效的javascript约定?

2 个答案:

答案 0 :(得分:4)

是的,只需创建一个包含所有设置的全局对象(或命名空间的本地对象):

var settings = {
    ...
};

由于全局变量在JavaScript中是全局的,而不像python中那样是特定于模块的,所以不需要导入任何东西。

如果您想扩展/覆盖您的设置对象,您可以例如使用jQuery的$.extend()方法:

var currentSettings = $.extend(true, {}, settings, localSettings);

答案 1 :(得分:0)

我不确定您要将哪种设置导出到js以及为什么。在任何情况下,如果你想这样做,我想最简单的是在django中有一个json视图,为你的javascript提供设置。这样至少你可以有一个来存储设置。

我不是Django dev,但我猜想像

from json import dumps
from django.http import HttpResponse

...

def json_settings(request):
    json = dumps(local_settings)
    return HttpResponse(json, mimetype='application/json')

会做这个工作。然后,您可以致电$.getJSON

获取这些设置