1

我来自 Rails 世界,现在正在玩游戏(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。

构建.scala:

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

配置/路由

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

应用程序/资产/javascripts/main.js

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

应用程序/视图/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 回答