我正在 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 编译成功。