1

質問:

  • 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 に以下を追加します。

"org.webjars" % "angular-ui-calendar" % "0.8.1"

更新後、sbt は angular-ui-calendar Web jar と、その pom.xml で指定された依存関係 (jquery-ui および fullcalendar) をプルダウンします。

ただし、いずれかを使用するには、requirejs 構成を含む main.js に一連のパスとシムを追加する必要があります... 基本的に:

requirejs.config({
    paths: {
        'angular-ui-calendar' : ['../lib/angular-ui-calendar/calendar'],
        'jquery-ui' : ['../lib/jquery-ui/jquery-ui']
         /* ... */
    },
    shim: {
        'angular':
           exports: 'angular'
        'angular-ui-calendar':
           deps: ['angular', 'jquery-ui', 'fullcalendar']
           /* ... */
    }
 });

このすべての手動シミングが必要な場合、一部の webjar で定義されている requirejs.config() のポイントは何ですか? (例: https://github.com/webjars/angular-ui-bootstrap/blob/master/src/main/resources/webjars-requirejs.js )

4

1 に答える 1

4

Play で WebJars をどのように使用するかによって異なります。WebJars Docs for Playに従えば、WebJars の RequireJS 構成を使用できます。このアプローチの欠点は、 では機能しないことsbt-rjsです。Play Docs for WebJarsに従う場合は、RequireJS 構成を手動で指定する必要があります。理想的には、Play は WebJars の RequireJS 構成のサポートを追加する必要があります。

于 2014-08-08T14:43:16.183 に答える