問題タブ [webjars]
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.
angularjs - Play 2.3.x + Webjars + Requirejs と推移的な依存関係
質問:
- webjars とそのすべての推移的な依存関係に対して、requirejs でパスとシムを手動で定義することを避ける方法はありますか? (または、少なくとも requirejs.config() 呼び出しが付属する webjar の場合)?
- 推移的な依存関係を持つ javascript パッケージで webjars と requirejs を使用する Play 2.3 アプリの簡単な例 (またはシード) はありますか? (各推移的な依存関係を、アプリの requirejs 構成ブロックで shim を使用して手動で構成する必要がない場合は?)
問題の説明:
私はプロジェクトを 2.3 でプレイするように移行していますが、webjars+requirejs がどのように統合されるべきかについて、いくつかの問題に直面しています。私の混乱を示す簡単な問題:
angular-ui-calendar ( https://github.com/webjars/angular-ui-calendar )を使いたいので、build.sbt に以下を追加します。
更新後、sbt は angular-ui-calendar Web jar と、その pom.xml で指定された依存関係 (jquery-ui および fullcalendar) をプルダウンします。
ただし、いずれかを使用するには、requirejs 構成を含む main.js に一連のパスとシムを追加する必要があります... 基本的に:
このすべての手動シミングが必要な場合、一部の webjar で定義されている requirejs.config() のポイントは何ですか? (例: https://github.com/webjars/angular-ui-bootstrap/blob/master/src/main/resources/webjars-requirejs.js )
jquery - Play Framework WebJars サンプル アプリで jQuery を使用する
Typesafe Activator 1.2.10を使用して、 Play 2.xの WebJars Sample を試しています。アプリケーション テンプレートを調べて、Bootstrap は jQuery に依存していることを確認しました。したがって、Bootstrap を依存関係として指定すると、jQuery も取得されます。テストページで。
OK、これで jQuery が利用可能になったと思います。次の最小限のコードをindex.scala.html
(内部<div class="container">
)に追加して試してみましょう。
いいえ、Safari はReferenceError: Can't find variable: $
. Safari のコマンド ラインで同じコードを試してみると、うまくいきます。そのため、jQuery はすぐには読み込まれませんが、しばらくすると読み込まれます。
RequireJSの使用法について読んで、次のことを試してください。
Safari から次のエラーが表示されるようになりました。
最後に、index.coffee
スクリプトを開き、app/assets
ここで試します:
ついに勝利!しかし、私のすべての jQuery コードを外部ファイルに書き込むのは本当に不快です。HTML テンプレートで jQuery を機能させるにはどうすればよいですか? jQuery が RequireJS で読み込まれた後にのみ実行されるように、コードをカプセル化するにはどうすればよいですか? ありがとう!
jquery - WebJarAsset の「at」メソッドを使用できません (play 2.3.4)
WebJarAssetsat
メソッドを使用できない理由がわかりません。私の構成は次のとおりです..
私のbuild.sbtでは:
私のルートでは:
次に、私の main.scala.html で、次のように jquery を追加しようとしました..:
しかし、この時点でat
メソッドにアクセスできず、その理由がわかりません。私は実際に play 2.3.4 を使用しており、このプロジェクトを作成したばかりなので、競合するライブラリは存在しないはずです。
これで私を助けることができる人はいますか?
前もって感謝します
apache - Apache/Tomcat/mod_jk で Webjars を使用する場合...可能ですか?
Webjars (JAR (Java Archive) ファイルにパッケージ化されたクライアント側の Web ライブラリ (jQuery & Bootstrap など) を使用する Java Web アプリケーションがあります。 http://www.webjars.org/を参照してください)。Tomcat のみを使用する場合は、正常に動作します。
しかし、Apache サーバーを Tomcat の前に (mod_jk を使用して) 配置して、静的コンテンツを提供したいと考えています。それを行うようにApacheを構成するにはどうすればよいですか? 静的コンテンツはjarファイルにあります!
ありがとう。
jakarta-ee - IBM WebSphere Application Server 上の WebJars からの静的リソースが表示されない
IBM WebSphere Application Server にデプロイされた JAX-RS と AngularJS を使用して、単純なレポート Web アプリケーションを作成しています。非常にシンプルなので、依存関係をできるだけ少なくするようにしています。そのため、サーバー側で派手なフレームワークは使用していません。
静的リソースを提供するために、このコントローラーを作成しました。フォルダに保管していsrc/main/resources
ます。
ここまでは順調ですね。
いくつかの JavaScript ライブラリ (jQuery、Underscore.js、AngularJS) を使用しているため、 WebJarsを利用したいと考えました。webjars.orgのドキュメントによると:
Servlet 3 と互換性のあるコンテナでは、ディレクトリ内の WebJars
WEB-INF/lib
が自動的に静的リソースとして利用可能になります。これが機能するのMETA-INF/resources
は、JAR 内のディレクトリにあるものはすべてWEB-INF/lib
、静的リソースとして自動的に公開されるためです。
対応する WebJars を に入れるとpom.xml
、動作が停止しました。これは私がこれまでに見つけたものです:
- もちろん、WebJar は、結果の
.war
パッケージのWEB-INF/lib
フォルダーに存在します。 ClassLoader
私のserveResource
メソッドクレームで使用されているクラスパスには、すべての WebJars があります。- の
ClassLoader
実装はcom.ibm.ws.classloader.CompoundClassLoader
. META-INF/resources
フォルダ内の WebJars に存在するリソースはどれも に表示されませんClassLoader
。なし。
クラスローダーに WebJars のリソースを表示させるにはどうすればよいですか?
playframework - Sass のインクルードと Webjar
Play プロジェクトを 2.3 に移行し、ShaggyYeti のsbt-sass プラグイン( play-sass プラグインからの変更) を使用して SCSS ファイルをコンパイルしました。に配置される縮小された css にすべてをバンドルします/assets/stylesheets/main.min.css
。webjars を使用してフロントエンド ライブラリをプルし始めるまでは、すべて問題なく機能していました。
Webjar 自体は正しく機能し、それらの scss をメインの css にバンドルできますが、他のリソースを参照する webjar から scss をバンドルすると問題が発生します。たとえば、font-awesomelib/font-awesome
はのような場所にフォントと共にダウンロードされます/assets/lib/font-awesome/fonts/fontawesome-webfont.eot
。問題は、font-awesome scss がそれを参照し../fonts/fontawesome-webfont.eot
、コンパイル後に/assets/fonts/fontawesome-webfont.eot
.
ここで何かが足りないのでしょうか、それとも、この新しいシステムが導入されてからまだ時間が経っていないために、まだ解決されていない癖ですか? 後者の場合、ここで適切な解決策はどれだと思いますか?
- プラグインを使用して、参照されたファイルを予想されるフォルダーに移動/コピーする必要がありますか? また
- SCSS コンパイラ/プラグインは webjar ダウンロード フォルダーへのパスを書き換える必要がありますか? また
- font-awesome の縮小された css を別のリンクとして含める必要がありますか?
Webjar 内の scss は明らかに scss に関連するリソースを参照しているため、(2) が適切な解決策であると考える傾向があります。これは、宛先 css に対して相対的に書き換える必要があります。