AssetsCoffeeScript - opensas/Play20Es GitHub Wiki
CoffeeScript es un pequeño y elegante lenguaje que se compila en JavaScript. Este proporciona una sintaxis más agradable para escribir código JavaScript.
Los recursos compilados in Play 2.0 se deben definir en el directorio app/assets. Estos se manejan por el proceso build, y las fuentes de CoffeeScript se compilan en archivos estándar de JavaScript. Los archivos JavaScript generados se distribuyen como recursos estándar en la misma carpeta public/ como otros recursos no administrados, lo que significa que no hay ninguna diferencia en el modo en que usted los utiliza una vez compilados.
Tenga en cuenta que los recursos administrados no se copian directamente en la carpeta
publicde la aplicación, pero se mantienen en una carpeta separada entarget/scala-2.9.1/resources_managed.
Por ejemplo, un archivo fuente de CoffeeScript app/assets/javascripts/main.coffee estará disponible como un recursos JavaScript estándar, en public/javascripts/main.js.
Las fuentes de CoffeeScript se compilan de forma automática mientras se ejecuta el comando compile, o al actualizar cualquier página en el navegador mientras se ejecuta en el modo de desarrollo.
Los errores de compilación se mostrarán en el navegador:

Aquí está un ejemplo de la estructura para utilizar CoffeeScript en sus proyectos:
app
+ assets
+ javascripts
+ main.coffee
Se compilarán dos archivos JavaScript: public/javascripts/main.js y public/javascripts/main.min.js. El primero es un archivo legible útil en el desarrollo, y el segundo es un archivo miniaturizado que se puede utilizar en la producción. Usted puede utilizar cualquiera de los dos en su plantilla:
<script src="@routes.Assets.at("javascripts/main.js")"><script src="@routes.Assets.at("javascripts/main.min.js")">La compilación de CoffeeScript puede ser configurada en el archivo Build.scala de su proyecto. La única opción admitida actualmente es el modo bare.
coffeeScriptOptions := Seq("bare")
Por defecto, el código JavaScript se genera en una función de alto nivel en un contenedor seguro, impidiéndole contaminar el ámbito global. La opción bare elimina esta funcion del contenedor.
Siguiente: Utilizando LESS CSS