1

私は Rails の世界から来て、今は play (2.1) で遊んでいます。一種のアセット パイプラインが付属していることは気に入っていますが、欠けているのは、そこに Web 依存関係が含まれていることです。Rails では、jquery-rails依存関係を追加して、それを application.js ファイルに含めて使用できるようにすることができます。

http://webjars.orgに出くわしましたが、これは良さそうですが、私が知る限り、ファイルを直接 html ファイルに含めることしかできません。

この種の動作を有効にする方法はありますか、または近い将来に実装される予定ですか?

4

1 に答える 1

3

Rails と同じようにはサポートされていない (明らかに) ため、私が思いついた最善の方法は次のとおりです。

  1. WebJars の依存関係を含める
  2. ここに記載されているように WebJars ルートを定義します
  3. JavaScriptファイルを入れてください/app/assets/javascripts
  4. RequireJS (ドキュメントはこちら) と WebJars RequireJS ローダーを使用して、WebJars の依存関係を含めます。

たとえば、AngularJS を使いたいとしましょう。

Build.scala:

val appDependencies = Seq(
  "org.webjars" % "webjars-play" % "2.1.0-2",
  "org.webjars" % "angularjs" % "1.0.7"
)

conf/ルート

GET     /webjars/*file      controllers.WebJarAssets.at(file)

アプリ/アセット/javascripts/main.js

require(["webjars!angular.js"], function() {
  console.log(angular.isString(3));
}

app/views/example.scala.html

...
@helper.requireJs(core = routes.Assets.at("javascripts/require.js").url, module = routes.Assets.at("javascripts/main").url)
...

JavaScript コンソールに "false" が出力されるようになりました。

于 2013-03-04T10:14:19.060 に答える