4

Play 2.1 アプリケーションで、プライベート アセットを格納する適切な場所はどこですか?

「プライベート アセット」とは、アプリケーションによって使用されるが、ユーザーがアクセスできないデータ ファイルを意味します。

たとえばFoo.json、アプリケーションが起動するたびに解析されるサンプル データを含むテキスト ファイル ( ) がある場合、それを保存するプロジェクト内の適切なディレクトリはどれでしょうか?

Foo.jsonデプロイメントに含める必要があり、開発と本番の両方でコードから均一にアクセスできる必要があります。

4

3 に答える 3

3

いくつかのオプション:

  1. 通常、ファイルはconfフォルダーに移動します。すなわち:conf/privatefiles/Foo.json
  2. それらが頻繁に変更される可能性がある場合はapplication.conf、ファイル システムのどこかに外部フォルダーへのパス (フル パス) を追加することを検討できます。このような場合、アプリを再デプロイしなくてもコンテンツを簡単に編集できます。/home/scrapdog/privatefiles/Foo.json
  3. それらをデータベースに保存することもできます。利点は前のオプションと同じです - 簡単な編集。

いずれの場合も、メモリ キャッシュを使用して、必要なときに毎回ファイル システム/データベースから読み取らないようにすることを検討してください。

于 2013-02-25T17:55:58.077 に答える
1

dataアプリケーション ルートで呼び出されるフォルダーを使用するだけです。必要な名前を使用することも、実際の名前を構成ファイルに保存することもできます。

そのパスを解決するには、次のスニペットを使用します。

  lazy val rootPath = {
    import play.api.Play.current
    play.api.Play.application.path.getPath
  }
  lazy val dataPath = rootPath + "/data/"
于 2013-02-25T19:03:35.760 に答える