問題タブ [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.
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.json
target/web/public/main/lib
多分私は何かを完全に誤解していますか?
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の依存関係として指定すると、正しく最適化されます。
私がやろうとしていることは可能ですか?私はかなりグーグルで調べてきましたが、どちらにしても明確な答えを見つけることができませんでした。
ありがとう!
scala - sbt-sass または sbt-less からスタイルをバンドルする sbt-concat を取得できない
(サンプル プロジェクトが提供されています) sbt-concatが、プリプロセッサ タスクから生成される可能性のあるスタイルから生じるスタイルシートを見つけて連結するように設計されたとおりに動作することができません。私の本番アプリでは、それを使用してsbt-sassから選択した縮小出力ファイルをバンドルしようとしています。そのプロジェクトの複雑なセットアップ内では機能しないため、サンプル プロジェクトを作成して、まったく機能するかどうかを確認しました。サンプルプロジェクトでも機能しません。これは、いくつかのバンドルを作成しようとするテストプロジェクトbuild.sbt
です。考えられるほぼすべての可能性を使用して、それらのいずれかが機能するかどうかを確認します (公開 Github リポジトリ、クローンを作成してすぐに問題を再現できるはずです):
私はテスト; clean; reload; stage
から実行しactivator
ます。アセット ソース ファイルがフォルダーにコピーされていることがわかりtarget
ます。宣言されたバンドルの結果は次のとおりです。
- style-group1.cssが存在しません
- style-group2.css
button.css
にはとの内容が含まれていますcore.css
- style-group3.css
core.css
にはとの内容が含まれていますbutton.css
- style-group4.cssが存在しません
- style-group5.cssには、
core.css
- style-group6.cssには、コンパイル済みのコンテンツのみが含まれています
lessStyle.scss
- style-group7.cssには、コンパイル済みのコンテンツのみが含まれています
sassStyle.scss
- style-group8.cssが存在しません
css
2 番目と 3 番目のケースではプリプロセッサによって生成されたファイルが取得されないのに、オーダーメイドの 6 番目と 7 番目のケースでは取得される理由がわかりません。おそらく注目に値するのは、すべてのソース ファイルの show s の結果と、Sass および Less タスクからの派生myPipelineTask
およびソースマップです。PathMapping
css
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 で解決します。
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:
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
再び機能し始めますが、アセットはデプロイされません。
これを修正するための標準/慣用的なアプローチはありますか?それとも、ビルドの行にコメントを付けたりコメントを外したりするのに行き詰まっていますか?