¿Cómo utilizar el optimizador RequireJS en el marco de Play?

Como se anuncia, elrjs en Play can

asegúrese de que cualquier recurso de JavaScript al que se haga referencia desde un WebJar se haga referencia automáticamente desde el CDN de jsdelivr. Además, si se encuentra algún archivo .min.js, se utilizará en lugar de .js. ¡Una ventaja adicional aquí es que no se requieren cambios en su html!

Sin embargo, parece que no puedo lograr que nada de eso funcione.

Intenté ejecutar mi aplicación Play en modo de producción, y todos mis javascripts webjar todavía se mencionan como locales.No veo el.min versión de los archivos javascript que se usan en producción.

No puedo obtener la inyección de dependencia para trabajar en modo de producción. Por ejemplo, cuando quiero inyectarjquery en mi código como este

define (['jquery'], function ($) {'use estricto'; console.log ($. grep); return {sum: function (a, b) {return a + b;}};});

Puedo hacer que esto funcione bien en modo de desarrollo, pero en modo de producción, elrjs dicho fallido

[info] Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info]     main
[info]       app
[info] 
[info] Error: Error: ENOENT, no such file or directory '/Users/khanguyen/Desktop/rjsdemo/target/web/rjs/build/js/jquery.js'
[info] In module tree:
[info]     main
[info]       app
[info] 
[info]     at Error (native)

Obviamente, está buscando la ubicación incorrecta para jQuery, a pesar de la configuración de configuración generada por Webjar

requirejs.config({"paths":{"jquery":["/webjars/jquery/1.11.1/jquery","jquery"]},"shim":{"jquery":{"exports":"$"}},"packages":[]})    }

tener la ubicación correcta parajquery.

Estoy usando Play 2.4.0, conpipelineStages := Seq(rjs, digest) configuración en mi build.sbt.

Por favor, hágame saber dónde me equivoqué.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta