問題タブ [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 投票する
1 に答える
1304 参照

playframework-2.3 - フロントエンドの依存関係のために sbt-web を npm で動作させることができない

特にsbt-web とsbt-js-engineを使用して、依存関係を webjars ではなく npm で解決しようとしています。

私の問題は、 webjar を使用する場合のようtarget/web/public/main/libに、タスク中に依存関係がフォルダーにコピーされないことです。web-stage

sbt-js-engine のサンプル プロジェクトを使用してテストを行いました。このプロジェクトでは、フォルダー内のファイルconsole-browserifyから依存関係を見つけることを期待していますが、そうではありません。package.jsontarget/web/public/main/lib

ここに画像の説明を入力

多分私は何かを完全に誤解していますか?

0 投票する
1 に答える
1971 参照

playframework - Play 2.3.x アプリで sbt-rjs を使用して WebJars から JS を最適化する

Play 2.3 アプリで、WebJars 経由でアプリに含まれている JS を (sbt-rjs を使用して) 連結/最適化することは可能ですか?
具体的な例を挙げると、すべてのサードパーティ ライブラリが連結され、1 つのファイルに縮小されたcore.jsモジュールを作成しようとしています。このモジュールは、他の AMD モジュールの依存関係として指定できます。
ソースを「手動で」ダウンロードするのではなく、WebJars を介してこれらのライブラリを含めることをお勧めします。

Webjar の依存関係を指定しているbuild.sbtファイルのスニペットを次に示します。

これが私のrequireJSビルド構成です

そして最後に、これが私のcore.jsモジュールです。

activator clean stageコマンドラインから実行した後、ビルドされたcore.jsファイルに、指定したすべての依存関係が連結されて単一のファイルに縮小されることを望んでいましたが、それらのいずれも含まれていません。非 WebJar ファイルをcore.jsの依存関係として指定すると、正しく最適化されます。

私がやろうとしていることは可能ですか?私はかなりグーグルで調べてきましたが、どちらにしても明確な答えを見つけることができませんでした。

ありがとう!

0 投票する
1 に答える
544 参照

scala - sbt-sass または sbt-less からスタイルをバンドルする sbt-concat を取得できない

(サンプル プロジェクトが提供されています) sbt-concatが、プリプロセッサ タスクから生成される可能性のあるスタイルから生じるスタイルシートを見つけて連結するように設計されたとおりに動作することができません。私の本番アプリでは、それを使用してsbt-sassから選択した縮小出力ファイルをバンドルしようとしています。そのプロジェクトの複雑なセットアップ内では機能しないため、サンプル プロジェクトを作成して、まったく機能するかどうかを確認しました。サンプルプロジェクトでも機能しません。これは、いくつかのバンドルを作成しようとするテストプロジェクトbuild.sbtです。考えられるほぼすべての可能性を使用して、それらのいずれかが機能するかどうかを確認します (公開 Github リポジトリ、クローンを作成してすぐに問題を再現できるはずです):

私はテスト; clean; reload; stageから実行しactivatorます。アセット ソース ファイルがフォルダーにコピーされていることがわかりtargetます。宣言されたバンドルの結果は次のとおりです。

  • style-group1.cssが存在しません
  • style-group2.cssbutton.cssにはとの内容が含まれていますcore.css
  • style-group3.csscore.cssにはとの内容が含まれていますbutton.css
  • style-group4.cssが存在しません
  • style-group5.cssには、core.css
  • style-group6.cssには、コンパイル済みのコンテンツのみが含まれていますlessStyle.scss
  • style-group7.cssには、コンパイル済みのコンテンツのみが含まれていますsassStyle.scss
  • style-group8.cssが存在しません

css2 番目と 3 番目のケースではプリプロセッサによって生成されたファイルが取得されないのに、オーダーメイドの 6 番目と 7 番目のケースでは取得される理由がわかりません。おそらく注目に値するのは、すべてのソース ファイルの show s の結果と、Sass および Less タスクからの派生myPipelineTaskおよびソースマップです。PathMappingcss

0 投票する
3 に答える
808 参照

sbt - SBT プロジェクトの依存関係を介して sbt-web 出力を xsbt-web-plugin で使用するにはどうすればよいですか?

play フレームワークなしで sbt-web プラグインを使用し、代わりに xsbt-web-plugin を使用して webapp を構築しようとしています。

sbt-web プラグインがアセット パイプラインの処理で正しく動作するようになり、有効な webjar 出力 (packageBin 経由) と標準の "web/public/main" 出力 (アセット経由) を作成するようになりました。

これとは別に、私は xsbt-web-plugin を使用して webapp を開発し、その webapp を SBT 内から (container:start 経由で) 提供しています。webapp プロジェクトは、mavenCentral から webjar の依存関係を使用し、それらのリソースを問題なく参照できます。

私が把握できていないのは、xsbt-web-plugin を取得して、sbt-web パイプラインから出てくるアセットを Web アプリケーションに含める方法です。私にできる最善のことは、それらを CLASSPATH に入れることです。(私が理解していることから、これらのアセットを CLASSPATH から提供する「アセット コントローラー」があるため、これらのアセットを Web アプリケーションで静的アセットとして使用できるようにする必要がないため、プレイに必要なのはこれだけです)。

私がやろうとしていることを示す公開 GitHub リポジトリ ( https://github.com/MartinSnyder/serving-sbt-web-output ) を作成しました。

私の plugins.sbt は次のとおりです。

私のbuild.sbtは次のとおりです。

webapp の HTML ファイルは次のとおりです。

現在のところ、requirejs はビルド前の webjar から来ているため、正常に提供されています。3 つのタグはすべて異なっており、sbt-web からのアセット出力を参照しようとして失敗しています。

私が達成しようとしている最良のシナリオは、xsbt-web-plugin webapp 出力 (target/webapp/) に含まれる sbt-web プラグイン出力 (target/web/public/main/)を取得することです。プロジェクトの依存関係に webjar としてアクセスできる xsbt-web-plugin で解決します。

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

playframework - sbt-concat がサブフォルダー内のファイルのグループを作成しない

Play フレームワーク プロジェクト (v2.3.8) でsbt-concatを使用して concat グループを作成しようとしています。しかし、うまくいきません。/app/assets/フォルダー内のファイルは正常に連結されますが、サブフォルダー内のファイルを組み込んだグループは機能しません。以下の例では、 group_1.jsは作成されていますが、group_2.jsは作成されていませんが、コマンドactivator web-stageを実行した後、 Building 2 concat group(s)というメッセージが表示されます。私が間違っていることは何ですか?事前にヒントをいただきありがとうございます。

PS: 連結されたファイルを開発モードと本番モードで使用したい。テンプレートにファイルを含めるにはどうすればよいですか? <script src="@routes.Assets.at("group_1.js")">を使用できますか?

ディレクトリ レイアウト:

build.sbt:

plugins.sbt:

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

playframework-2.0 - CSS の変更が表示されない

"Packaging and Publishing"の指示に従って、sbt-web 1.1.0 プラグインで構成された Play 2.3.7 アプリを持っています。

これは、パッケージ化およびデプロイ時に (sbt-native-packager を使用して) うまく機能します。ただし、開発モードで SBT から実行すると、CSS に加えられた変更は、SBT を完全に終了して再起動するまで表示されません (リロードも機能しません)。作成中のアセット jar 内の CSS が優先されていると推測しています。アセットの変更を削除すると、(managedClasspath in Runtime) += (packageBin in Assets).value再び機能し始めますが、アセットはデプロイされません。

これを修正するための標準/慣用的なアプローチはありますか?それとも、ビルドの行にコメントを付けたりコメントを外したりするのに行き詰まっていますか?