1

複雑なオブジェクト値をシリアル化されたjsonとして保存する構成ファイルがいくつかあります。現在、各環境 (localhost、dev、prod など) およびクライアントによるインストールごとに構成ファイルがあります。ほとんどの値は環境間の構成で同じですが、すべてではありません。したがって、3 つの環境と 4 つのクライアントの場合、現在、合計 12 個のファイルを管理する必要があります。

これが web.config ファイルである場合、問題を解決する web.config 変換が存在します。これが c# の場合、現在のビルド構成に基づいてさまざまな値を置き換えるために使用できるコンパイラ プリプロセッサ ディレクティブがあります。

Does anyone know of anything that works basically this way or have some good suggestion on tried and true ways to proceed? What I would like is to reduce the number of files down to a single instance for each installation that can suffice for each environment.

4

5 に答える 5

2

構成の構成は常に少しやり過ぎのように思えますが、変更する部分にプロパティファイルを使用し、Apache ant の<replace>タスクを使用して置換を行うことができます。このようなもの:

<replace 
    file="configure.json"
    propertyFile="config-of-config.properties">
  <replacefilter 
    token="@token1@" 
    property="property.key"/>
</replace>
于 2012-09-14T19:25:16.843 に答える
0

これは本当にフルスタックになります。

サーバー側の処理を一切行わずにクライアント側のみで実行されるアプリケーションについて話している場合、前処理などは実際にはありません。実際に使用する前にデータをさらに処理することはできますが、それはページが提供される前に処理されることを意味するわけではありません。つまり、それを必要とするアプリの前に、人々が座ってデータが発生するのを待つ必要があります。データを初期化できます。

そもそもJSONを使用する利点は、JSONが単なるデータストアであり、言語にまったく依存せず、現在では非常に広くサポートされていることです。したがって、100%クライアント側でない場合は、サーバーで使用している言語で前処理し、それらのファイルのバージョンをキャッシュして、ユーザーのニーズに基づいてユーザーに提供(およびキャッシュ)することを妨げるものは何もありません。 。

本当に、クライアント側で構成ファイルのライブ処理を行うシステムが本当に必要であり、早期に読み込まれるアプリビューを作成する作業を終えたが、初期化を延期していることをユーザーに示す場合(例: "loading ..." / spinners)次に、必要な実装固有のデータをすべて保持する2番目のJSONファイルをダウンロードします(これらの小さなファイルが12個あり、管理が簡単です)。両方のJSONファイルをJSオブジェクトに解析し、セカンダリファイルの追加データを使用してラージ構成オブジェクトを拡張します。

注意:これをキャッシュするには、localhostまたはその他のストレージ機能を使用してください。これにより、html5ブラウザーの場合、この長いロードは1回だけ発生します。

于 2012-09-14T19:38:48.300 に答える