6

一連の REST API を使用するバックボーン アプリケーションを構築しています。理想的には、環境変数によって決定される dev と live 用に異なる構成ファイルを用意することです。出来ますか。

前もって感謝します

4

3 に答える 3

11

次のような方法で 1 つのファイルを用意することをお勧めします。

var YourProject = {};
YourProject.Config = {
   Local : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   },
   Dev : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   },
   Production : {
     db : 'mysql:dumy:dummy@localhost',
     relativeUrl : 'blabla',
     otherConfig : '123456'
   }
}

次に、ユーティリティで次のようなものを作成します。

YourProject.ConfigHandler = {
  getValue : function(key){
    var env;
    switch( window.location.hostname ){
      case "localhost":
      case "127.0.0.1":
        env = 'Local';
        break;
      case "dev.yourdomain.com":
        env = 'Dev';
        break;
      case "yourdomain.com":
        env = 'Production';
        break;
      default:
        throw('Unknown environment: ' + window.location.hostname );
    }
    return YourProject.Config[env][key];
  }
};

したがって、ファイルは 1 つだけになり、異なる API DB の URL を呼び出すには、1 行だけ呼び出す必要があります。

YourProject.ConfigHandler.getValue( 'db' );
于 2012-07-13T14:29:01.610 に答える