2012-03-05 5 views
2

私は、グローバル設定の束を使用するバックボーンを使用してオープンソースのjavascriptプロジェクトに取り組んでいます。地方開発では、各開発者が独自の設定を行うことができるようにしたいが、これは.gitignoreを使ってリポジトリから除外できるように別のファイルに存在させたい。javascriptプロジェクトのローカル設定

私は、Djangoの背景から来て、大会はsettings.pyは、単にような何かずsettings.pyとlocal_settings.py持つことです。

try: 
    from local_settings import * 
except: 
    pass 

は、ローカル設定のための同等のjavascriptの規則がありますか?

答えて

4

(お持ちの場合は、名前空間またはローカル)はい、単純にすべての設定を含むグローバルオブジェクトを作成します。

var settings = { 
    ... 
}; 

グローバルはJavaScriptで本当にグローバルであり、モジュール固有ではないのpythonのように存在しているので何もインポートする必要はありません。

設定オブジェクトを拡張/上書きする場合は、次のようにします。私はあなたがjsのと理由にエクスポートしたい設定の種類を確認していない

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

したがって、localSettingsオブジェクトは独自のjavascriptファイルに存在する必要がありますか?もしそうなら、ユーザーがlocalSettings.jsを作成していない場合、エラーを発生させずにグローバル名前空間にロードされるようにする方法を教えてください。 – Spike

+2

ファイルには関係ありません。定義されていない場合: 'typeof localSettings == 'undefined'? {}:localSettings' – ThiefMaster

+0

Gotcha、ありがとう! – Spike

0

:jQueryの$.extend()メソッドを使用します。いずれにせよ、あなたがそれをしたいのであれば、私はあなたのjavascriptに設定を提供するジャンゴのjsonビューを持つことが最も簡単だろうと思います。そうすれば、少なくともあなたはに1つのの設定を保存する場所を持つことができます。

私は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

+0

申し訳ありませんが、これは純粋にjavascriptプロジェクトであり、私はちょうどDjangoの背景から来ているということで、おそらく不明でした。それでも、私がDjangoプロジェクトと統合してこのようなことをする必要がある場合は、面白いアイデアに感謝します。 – Spike

+0

ああ、問題ありません! – ggozad

関連する問題