問題タブ [sbt-web]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
361 参照

scala - SBT Web からの静的アセットの生成

SBT-Web と Play Framework に基づくプロジェクトがあります。Play は開発のためだけに使用され、( stageSBT/Activator でコマンドを実行すると) すべてが静的ページにエクスポートされ、Java がインストールされていない Web サーバーにデプロイされます。

私の現在のアプローチは、resourceGenerator を追加することです。

これは今のところ機能しますが、いくつかの欠点があります。

  • 何よりもまず、サブディレクトリを使用できません。ファイルをサブディレクトリに配置しようとすると、ルートに配置されます。
  • テンプレートまたはソース データを変更すると、有効にするためにプロジェクトをリロードする必要があります。
  • 最後に、Twirl などを使用していただければ幸いです。

それらの欠点を克服する方法は?(最初のものが最も重要です。他の欠点を解決することは、むしろ小さな利点です。)

  • 生成コードをパイプライン ステージに配置しようとしました。これは、最終成果物を構築するときに機能しますが、開発中は機能しません。
  • アイデア: Twirl テンプレートを使用し、開発中に動的に呼び出し、パイプライン ステージで何らかの方法で (ClassLoader と Reflection API を使用して) 呼び出します。これが正しい方法かどうかはわかりません。sbt-web パイプライン ステージを実行するときに、Scala/Twirl コードが既にコンパイルされていることは保証されていますか?
  • ハックなアイデア: ファイルをプロジェクト ルートに生成し、開発モードでルートを介して動的に提供し、パイプライン ステージで名前を変更します。これは重いハックですが、理論的にはうまくいくはずです。
0 投票する
0 に答える
63 参照

scala - アプリ名に scala バージョンを含めない Sbt リゾルバー

現在、sbt リゾルバーを使用してプロジェクトを見つける際に問題があります。

私は現在、自分のプロジェクトをに公開しています

publishSettings で crossPaths := false を設定しました

ただし、これは私のリゾルバーです

しかし、ここで公開されたプロジェクトを探しようとします

リゾルバーがある種の crossPath = false を持つようにする方法はありますか? または、アプリ名の末尾にある scala バージョン「_2.11」を取り除く方法はありますか?

0 投票する
0 に答える
42 参照

playframework - `stage` と `run` の実行時に異なる sbt-web SettingKey 値を使用する

SBT プラグインを作成しています。プラグインには、次のものがあります。

val prod = SettingKey[Boolean]("prod", "This will minify stuffs.")

このプラグインを使用するプロジェクトで、実行時にbuild.sbt異なる値を設定したい.sbt stagesbt run

さまざまな組み合わせを試しましたが、うまくいきません (例: prod in Assets in stage := true)。

誰かがこの問題を解決する方法を知っているのだろうか。スコーピングで簡単に解決できるはずの通常の問題のように思えますが、SBT のスコーピングはよくわかりません。

さまざまなコマンドを実行するときに SettingKey をオーバーライドする方法の小さな例があれば、それは素晴らしいことです。ありがとうございました。