2016-08-21 9 views
1

私はjsプロジェクトをtypeScriptに変換していますが、local/untracked_by_gitファイルを使用していくつかの定数静的メンバーを上書きしたいとします。別のファイルを使用して静的メンバーを上書きする

私のオリジナルの定数はファイル:

export default class Constants{ 
    static MYSQL_HOST = 'some_host'; 
    static MYSQL_PORT = 0000; 
    static MYSQL_DATABASE = 'prod_database_name'; 
    static MYSQL_USER = 'user'; 
    static MYSQL_PWD = 'password'; 
} 

私はいくつかの特定のDBに接続するために、この分野(のいずれかを上書きすることができます(システムをバージョン管理することによって追跡されていない)ローカルファイルをしたい、私は異なります同僚)

+0

のようなものがブラウザやサーバーのため、このコードであるのですか? – qballer

+2

なぜ環境変数だけを使用できなかったのですか? –

+0

@ qballerサーバー用です –

答えて

3

あなたがいると仮定し@mario-alexandro-santini

export default class Constants{ 
    static MYSQL_HOST = process.env.MYSQL_HOST || 'some_host'; 
    static MYSQL_PORT = process.env.MYSQL_PORT 0000; 
    static MYSQL_DATABASE = process.env.MYSQL_DATABASE || 'prod_database_name'; 
    static MYSQL_USER = process.env.MYSQL_USER || 'user'; 
    static MYSQL_PWD = process.env.MYSQL_PWD || 'password'; 
} 

からの助言、次のUNIXベースの環境で実行すると、bashファイルを使用してset-env.shと呼ぶことができます。そのファイル名を.gitignoreファイルに追加します。これには次のような内容が含まれています。アプリを実行したときに

#!/bin/sh 
MYSQL_HOST="Other values" 
MYSQL_PORT="LOL" 
MYSQL_DATABASE="LAlaLA" 
//etc.. 

だけ./set-env.sh && <the command you did before>

関連する問題