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

sbt - カスタム構成スコープの設定を SBT に認識させる方法

私は sbt-web を使用しており、本番用の js ファイルのみを醜くしたいと考えています (開発中のコンパイル時間を節約します)。ただし、実行すると:

私は同じ結果を得る

つまり、以下のスコープ設定prod:runをピックアップしていないようです。pipelineStages in prod

私はこれがどのように機能するかを誤解していると確信しており、いくつかの明確さと正しい使用法を望んでいます. http://www.scala-sbt.org/0.13/tutorial/Scopes.htmlと SO に関するすべての同様の投稿を読みましたが、電球はまだ点灯していません。もっと良い方法があればいいのですが、学習モードにあるので、これがうまくいかない理由を知りたいです。

完全な ./build.sbt ファイルは次のとおりです。

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

scala - テストを実行する前に、sbt-web アセット パイプライン、具体的には sbt-concat を実行するにはどうすればよいですか?

テストを実行する前に、JavaScript ファイルが必要です。sbt-concat を使用して作成されます。仕様テストを実行するための依存関係として sbt-web アセット パイプラインを追加するにはどうすればよいですか?

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

uglifyjs - SbtWeb: traceur の出力を醜くする

Play フレームワーク (sbt/scala) プロジェクトでコードをトランスパイルするために SbtWeb traceur プラグインを使用しています。これにより、 で ES5 リソースが得られます/main.js。次に、結果を醜くしたいと思い/main.min.jsます。uglify プラグインも追加してから、次のことを試みました。

pipelineStages := Seq(traceur, uglify)

残念ながら、これはtraceurTaskKey と同様にコンパイルされませんが、正しい型ではありません。これどうやってするの?

編集:これを行うための正しい方法は次のようになります。

ただし、Javascript に構文エラーがあるという醜いエラーが表示されるようになりました。これは、uglify が traceur の ES5 出力ではなく、元の ES6 ソースを処理しようとしているためです。これを機能させる方法はまだわかりません。

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

scala - 単一のプロジェクト内で sbt-web で scala-js アーティファクトを使用する方法は?

sbt-web と scala-js を使用して webjar を作成したいと考えています。これまでartifactPathのところ、scala-js アーティファクトの をmappings in Assets. これは、呼び出しfastOptJSてファイルが正しい webjar の場所に表示される場合に機能します。

ただし、 でアセットを生成したいと考えていますcompile。問題は、ここにタスクの依存関係を追加するたびに循環依存関係が発生することfastOptJSです。またはに追加fastOptJSすることはできません。また、循環依存関係のために依存関係を追加することもできません。resourceGeneratorssourceGeneratorscompile

fastOptJS別のプロジェクトからトリガーするオプションではありません。

これに対する解決策はありますか?

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

node.js - ScalaJs sbt ビルドでは、「Provided」で npm または bower の代わりに webjars を使用する利点はありますか?

数か月前に初めて webJars を発見したとき、これらのビルド/ビルドシステムの一部が非常に複雑であり、jsファイルが公開される頻度を考えると、それがクライアント側の依存関係を処理する実行可能な方法であることに非常に懐疑的でした。2 番目の懸念はもちろん十分に根拠のあるものではありませんでしたが、約 10 個scss/css/lessの 型の webJars と 8 個の JS webJars を 1 つのjsDependencies屋根の下に配置しようとして 36 時間近く費やした結果、最初の懸念が正しかったと感じています。

私が見つけたのは、JS 依存関係 3、4、または 5 に到達するまでに、ばかげたタイムキル ループに陥り始めることです。

1.「ああ、webjar の依存関係と同じ名前のランダムなファイルがあったため、fastOptJS が失敗しました!」

2. やるべきことはわかった!定義済みの js にバージョンを追加します。

3. 「いやだ! fastOptJS が失敗した!」

ggの男の子。

これは何度も何度も何度も繰り返され、それから私はやり始めなければなりません

そして今、私は実際にはwebjarを使用していませんが、Xという名前のjs依存関係があり、それを変更することはできません...

質問

うーん?以前と同じように、アプリなしで依存関係を巨大なファイルまたはファイルのセットにビルドし、それをビルドにフィードした場合はどうなりますか? 私はオンラインからの概念実証を持っていて、それを機能させました( https://github.com/wav/material-ui-scalajs-react/blob/master/src/main/scala/wav/web/だったと思いますmuiwrapper/package.scala ) はほとんど機能し、私にアイ​​デアを与えてくれました。

npmよりもはるかにうまく機能することはわかってsbt,いますが、それでもパッケージに入れることができます...マイナス面は何ですか? sbt について何か不足していますか?

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

playframework - Angular2 TestAssets を Play Framework の Assets と同じディレクトリに置くにはどうすればよいですか?

Angular2 は、プロジェクト ソースへのよりモジュール化されたアプローチに移行しました。これは、サブモジュールのソース、html テンプレート、およびテストのすべてが 1 つのディレクトリにまとめられていることを意味します。アプリ、パブリック、およびテスト ディレクトリに分散する代わりに。

これは非常に理にかなったアプローチです。

そのために Play/sbt-web を設定しようとしています。私のプロジェクトには次の設定があります。

アセットのコンパイル手順は正しく機能します。しかしその後、重複したマッピング エラーが発生します (以下を参照)。コンパイルされたアセットは、excludefilterを適用せずに TestAssets コンパイルに webjar 依存関係として追加されているようです。これにより、重複したマッピングが説明されます。

これを私のプロジェクトで機能させる方法はありますか? それとも、これは sbt-web の欠点ですか? (必要に応じて修正のためのプルリクエストに取り組んでいきます)

私の Activator の例の play-angular2-typescript プロジェクトはこちらにあります

これは重複マッピング エラーです。

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

playframework - Play 2.4.x - アセットの複製

私が取り組んでいる Play 2.4.6 アプリでは、stage/dist タスクでアセットが複製されています。

基本的に、これは 3 つのサブモジュールを備えたアプリであり、すべてのアセットがメインpublicフォルダーに存在します。私はsbt-web有効にしておらず、webjars の依存関係もありません (しかし、jar の内容から、Play はそれらをどこかで使用している可能性があります)。

使用すると、フォルダーPlayKeys.externalizeResources := falseに2つのjarファイルが作成されます。lib

  • myapp-server.myapp-server-0.9.6-assets.jar
  • myapp-server.myapp-server-0.9.6.jar

最初のものには、アセットが含まれている必要があります。2 番目にはメイン プロジェクトのクラス ファイルが含まれている必要がありMETA-INF/resources/webjars/myapp-server/0.9.6ますが、パブリック フォルダーのすべてのアセットを含むフォルダーもあります。

使用するPlayKeys.externalizeResources := trueとまったく同じ動作になりますが、代わりに余分なMETA-INF/resourcesフォルダーが存在しmyapp-server.myapp-server-0.9.6-externalized-resources.jarます。

では、その余分なアセット フォルダーを削除するにはどうすればよいでしょうか? 私はたくさんのアセットを持っているので、余分なフォルダーがパッケージサイズに大きく追加されます...

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

playframework - sbt-uglify オプションでディレクトリを指定する方法

私は遊びのフレームワークに基づくプロジェクトを持っています。sbt-uglify プラグインを使用して、js ファイルを縮小および連結しています

私のbuild.sbtで私は定義しました

上記のコードには、すべての js ファイルが含まれています。しかし、私は次のようなことをしたい

sbt-concat を使用せずにこれを行うにはどうすればよいですか?