Playframework 剧本2的编译量少,速度非常慢

Playframework 剧本2的编译量少,速度非常慢,playframework,playframework-2.0,less,Playframework,Playframework 2.0,Less,在我新的Play2安装中,编译量少确实很慢。即使在不需要直接编译的文件上放置了一个“u”之后,在较少的编辑之后,页面刷新也需要约8秒才能完成。这与使用Codekit进行本地编译相比,只需不到一秒钟的时间 有没有加快这一进程的建议?是否值得对Play提交一个bug来查看它 以下是有关我的文件大小的详细信息: 我的LESS设置非常简单_重置.less(.5k)_desktop.less(13k)、_tablet.less(10k)、_mobile.less(8k)、_sprites.less(25k

在我新的Play2安装中,编译量少确实很慢。即使在不需要直接编译的文件上放置了一个“u”之后,在较少的编辑之后,页面刷新也需要约8秒才能完成。这与使用Codekit进行本地编译相比,只需不到一秒钟的时间

有没有加快这一进程的建议?是否值得对Play提交一个bug来查看它

以下是有关我的文件大小的详细信息:
我的LESS设置非常简单_重置.less(.5k)_desktop.less(13k)、_tablet.less(10k)、_mobile.less(8k)、_sprites.less(25k)文件。一个all.less(.3k)文件,将所有内容放在一起。就这样。生成的css文件是53k。

我写了一篇关于这个问题的小调查报告。你可以找到它

一句话:我通过切换到Sass获得更快的性能。这不难做到。使用 SBT插件,如果使用引导,请使用 项目

通过
lessc
命令预编译LESS文件是另一种解决方案,而且速度相当快

假设您的项目使用引导,使用预编译引导,而不是无引导文件,也是一个巨大的成功,因为无引导编译器在其中一个文件更改时重新编译所有较少的文件,并且引导相当大。但是,对我们中的一些人来说,使用预编译引导是不方便的

使用Play2.0基于Rhino的按需编译是最慢的选择。事实上,猪很慢。并忽略我关于
增量ALASSETSComilation
的评论。它有文档记录,但似乎不在2.0.x代码库中


EDIT(2013年5月22日)推出了一个play lessc插件,该插件使用
lessc
命令编译更少的文件。它可以大大减少Play项目中的编译时间。请参见

这将大大缩短编译时间:

export SBT_OPTS="$SBT_OPTS -Dsbt.jse.engineType=Node"

它使Play在运行JavaScript时使用Node而不是Rhino。

在Play Framework 2.3中,您可以使用Node.js作为默认JavaScript引擎,用于较少的编译、js lint、CoffeeScript等

下载并安装node.js()库并将

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node
建立.sbt

-

您的文件减少了多少?每个有多大?我的小设置非常简单_重置.less(.5k)_desktop.less(13k)、_tablet.less(10k)、_mobile.less(8k)、_sprites.less(25k)文件。一个all.less(.3k)文件,将所有内容放在一起。就这样。生成的css文件是53k。我认为有一种方法可以告诉Play使用原生的less应用程序,而不是通过Rhino解释的应用程序。但是我找不到关于这个的任何文件(我也注意到了这个问题。我正在考虑切换到play sass插件,它使用sass Ruby gem和
sass
命令。或者,或者我正在考虑编写自己的插件,使用
lessc
(假设我不知道如何通过James Ward提到的任何配置参数实现这一点……我想是时候对源代码进行爬网了)。在任何情况下,都有一个实验设置可以帮助您。请参阅的底部,其中讨论了
IncrementAlasSetCompilation
设置。