Deployment 较少的插件在Play框架中是如何工作的?

Deployment 较少的插件在Play框架中是如何工作的?,deployment,playframework,less,Deployment,Playframework,Less,当我听说LESS时,我最初认为它们通常被预处理成css文件,所以浏览器只会遇到css文件,而不是LESS文件 然而,使用较少的插件,我只是看到我的Chrome浏览器实际上读取和解释较少的文件。LESS声称在所有主要浏览器中都受支持。那么,现代网站是只提供较少的文件,还是将其预编译成CSS?较少的插件如何在Play框架中工作?它是否会在客户端插入一个Javascript片段来解释它们 这里实际发生了什么?更少的css由javascript库“~编译”(应该在服务器端完成,以供生产使用)。 您可以在

当我听说LESS时,我最初认为它们通常被预处理成css文件,所以浏览器只会遇到css文件,而不是LESS文件

然而,使用较少的插件,我只是看到我的Chrome浏览器实际上读取和解释较少的文件。LESS声称在所有主要浏览器中都受支持。那么,现代网站是只提供较少的文件,还是将其预编译成CSS?较少的插件如何在Play框架中工作?它是否会在客户端插入一个Javascript片段来解释它们

这里实际发生了什么?

更少的css由javascript库“~编译”(应该在服务器端完成,以供生产使用)。 您可以在他们的网站上阅读更多内容:

两者都是选项。玩2.0将内置支持在服务器端编译更少的代码(以及CoffeeScript)。

如果您正在使用for Play!1,看起来它实际上是使用动态编译
less
文件,然后静态地提供服务。摘录:

/**
 * Get the CSS for this less file either from the cache, or compile it.
 */
public String get(File lessFile) {
    String cacheKey = "less_" + lessFile.getPath() + lastModifiedRecursive(lessFile);
    String css = Cache.get(cacheKey, String.class);
    if(css == null) {
        css = compile(lessFile);
        Cache.set(cacheKey, css);
    }
    return css;
}

protected String compile(File lessFile) {
    try {
        return lessEngine.compile(lessFile);
    } catch (LessException e) {
        return handleException(lessFile, e);
    }
}
其中
reducegine
com.asual.lesscss.reducegine
实例


正如其他人指出的那样,使用LESS的更常见方法是在提供内容之前自己编译它们,或者使用JavaScript插件让客户端在运行时编译它们。

但是我的Chrome似乎理解本地LESS文件。我正在使用Play Framework LESS插件-我已经将问题集中在Play上了。。。我不确定答案是否通用。如果没有处理
.less
文件的JavaScript,Chrome无法理解它。@ceejayoz-因此,也许我为此提供了一些JS,但我甚至不知道。嗯。@ripper234好的,这是正确的答案:)但是你的原始问题没有游戏框架,那么较少的模块在默认情况下如何工作?我没有做任何调整或配置,除了安装模块,和更少的文件刚刚开始工作。。。所以我想知道它们是如何工作的。我并没有玩更少模块的经验!1.在2.0下,它根本不是一个模块,而是内置的。我们使用它的方式,不是专门玩的,是使用
lessc
将LESS编译成CSS,我们可以看到它。没有混乱,没有自动化。看来你的答案作为评论会更好。。。您描述了如何在Play 2中使用LESS,但我想问的是Play 1模块。因此,我的浏览器看到的实际文件(foo.LESS)更少并不意味着它解释的更少。。。我懂了。我猜它仍然有
type=“text/css”
,即使它以
结尾。