playframework - versioned - scala play asset



Play 2.3.xアプリでsbt-rjsを使用してWebJarsからJSを最適化する (1)

WebJars経由でアプリに含まれているJSを(sbt-rjsを使用して)連結/最適化するPlay 2.3アプリを使用することは可能ですか?
具体的な例を挙げます。私は、他のAMDモジュールの依存関係として指定できる単一のファイルに連結および縮小されたすべてのサードパーティライブラリを含む core.js モジュールを作成しようとしています。
ソースを「手動で」ダウンロードするのではなく、WebJarsを介してこれらのライブラリを含めることは素晴らしいことです。

これは、webjarの依存関係を指定している build.sbt ファイルの 抜粋 です。

// Webjars
libraryDependencies ++= Seq(
  "org.webjars" % "requirejs" % "2.1.15",
  "org.webjars" % "underscorejs" % "1.7.0",
  "org.webjars" % "jquery" % "1.11.1",
  "org.webjars" % "bootstrap" % "3.3.1" exclude("org.webjars", "jquery"),
  "org.webjars" % "angularjs" % "1.3.4-1" exclude("org.webjars", "jquery")
)

ここに私のrequireJSビルド設定があります

requirejs.config({
  baseUrl: '/assets/javascripts',
  shim: {
    'jsRoutes': {
      deps: [],
      exports: 'jsRoutes'
    },
    'angular': {
      deps: ['jquery'],
      exports: 'angular'
    },
    'underscore': {
      exports: '_'
    },
    'angularRoute': ['angular'],
    'angularCookies': ['angular'],
    'bootstrap': ['jquery']
  },
  paths: {
    'requirejs': '../lib/requirejs/require',
    'jquery': '../lib/jquery/jquery',
    'underscore': '../lib/underscorejs/underscore',
    'angular': '../lib/angularjs/angular',
    'angularRoute': '../lib/angularjs/angular-route',
    'angularCookies': '../lib/angularjs/angular-cookies',
    'bootstrap': '../lib/bootstrap/js/bootstrap',
    'jsRoutes': '/jsroutes',
    'core': './core'
  },
  modules: [
    {
      name: 'core'
    }
  ]
});

最後に、 core.js モジュールを 次に示し ます。

define(['angular', 'angularRoute', 'underscore', 'bootstrap'], function() {
  // core dependencies are loaded...
});

コマンドラインから activator clean stage を実行した後、ビルドされた core.js ファイルに、指定されたすべての依存関係が1つのファイルに連結および縮小されて含まれることを望んでいましたが、それらのいずれも含まれていません。 core.jsの 依存関係として非WebJarファイルを指定すると、それは正しく最適化されます。

私がやろうとしていることは可能ですか? 私はかなりグーグルをしてきましたが、どちらの方法でも明確な答えを見つけることができませんでした。

ありがとう!


Play 2.4.3を使用しています。

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7") をplugins.sbtに追加しました

// rjs = RequireJS, uglifies, shrinks to one file, replaces WebJars with CDN
client accepts them
pipelineStages := Seq(rjs, digest, gzip)

これは私のbuild.sbtで、JSやwebjarをいじめるためにすべての縮小作業などを行います。