简体   繁体   中英

CoffeeScript is not compiled in Play 2.1.0

I am trying my first steps with CoffeeScript in Play 2.1.0. I created a new application and placed my CoffeeScript file main.coffee in app/assets/javascripts/.

I expected that upon starting the play application (entering 'run' in the play console) my CoffeeScript would be compiled and the resulting main.js to be placed in the public/javascripts directory.

But no main.js gets created in that directory. Do I have to add some configuration somewhere else?

As stated in the CoffeeScript doc :

Note that managed resources are not copied directly into your application's public folder, but maintained in a separate folder in target/scala-2.xx/resources_managed.

And you have to access it through the Assets controller using reverse routing:

<script src="@routes.Assets.at("javascripts/main.js")">

As the documentation describes: CoffeeScript sources are compiled automatically during an assets command, or when you refresh any page in your browser while you are running in development mode.

So, if you are not in development mode , you should use assets command to compile your CoffeeScript manually.

Before type in the assets command, make sure you have add the sbt-coffeescript plugin in your project by adding the following line in your project/plugins.sbt file:

addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")

After enable CoffeeScript compilation by adding the previous line, go into your project's root dirctory and type in sbt command. In the sbt interact shell you can type in assets command and you will get some output like this:

$ assets
[info] CoffeeScript compiling on 1 source(s)
[success] Total time: 4 s, completed May 30, 2015 9:43:29 PM

As you can see, CoffeeScript compile successfully.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM