我正在 Play 2.1.0 中尝试使用 CoffeeScript 的第一步。我创建了一个新应用程序并将我的 CoffeeScript 文件 main.coffee 放在 app/assets/javascripts/ 中。
我希望在启动播放应用程序时(在播放控制台中输入“运行”),我的 CoffeeScript 将被编译并将生成的 main.js 放置在 public/javascripts 目录中。
但是在该目录中没有创建 main.js。我是否必须在其他地方添加一些配置?
我正在 Play 2.1.0 中尝试使用 CoffeeScript 的第一步。我创建了一个新应用程序并将我的 CoffeeScript 文件 main.coffee 放在 app/assets/javascripts/ 中。
我希望在启动播放应用程序时(在播放控制台中输入“运行”),我的 CoffeeScript 将被编译并将生成的 main.js 放置在 public/javascripts 目录中。
但是在该目录中没有创建 main.js。我是否必须在其他地方添加一些配置?
如CoffeeScript 文档中所述:
请注意,托管资源不会直接复制到应用程序的公用文件夹中,而是保存在 target/scala-2.xx/resources_managed 中的单独文件夹中。
Assets您必须使用反向路由通过控制器访问它:
<script src="@routes.Assets.at("javascripts/main.js")">
如文档所述: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.
所以,如果你不在development mode,你应该使用assets命令手动编译你的 CoffeeScript。
在输入assets命令之前,请确保您已sbt-coffeescript通过在文件中添加以下行来将插件添加到项目中project/plugins.sbt:
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
通过添加上一行启用 CoffeeScript 编译后,进入项目的根目录并输入sbt命令。在sbt交互 shell 中,您可以输入assets命令,您将获得如下输出:
$ assets
[info] CoffeeScript compiling on 1 source(s)
[success] Total time: 4 s, completed May 30, 2015 9:43:29 PM
如您所见,CoffeeScript 编译成功。