Playframework 配置sbt-less插件的编译路径

Playframework 配置sbt-less插件的编译路径,playframework,less,sbt,playframework-2.3,Playframework,Less,Sbt,Playframework 2.3,我正在使用这个插件的play框架。我对public文件夹有以下结构 ├───app │ ├───css │ ├───img │ ├───js │ │ ├───apis │ │ ├───config │ │ ├───controllers │ │ ├───directives │ │ ├───filters │ │ ├───locale │ │ └───services │ └───views └───test 在build

我正在使用这个插件的play框架。我对
public
文件夹有以下结构

├───app
│   ├───css
│   ├───img
│   ├───js
│   │   ├───apis
│   │   ├───config
│   │   ├───controllers
│   │   ├───directives
│   │   ├───filters
│   │   ├───locale
│   │   └───services
│   └───views
└───test
build.sbt
中,我有以下内容:

includeFilter in (Assets, LessKeys.less) := "*.less"

excludeFilter in (Assets, LessKeys.less) := "_*.less"

LessKeys.rootpath in Assets := "public/app/css"
GET      /assets/*file             controllers.Assets.at(path="/public", file)
在我的
main.scala.html
中,我有以下链接标签

<link rel="stylesheet" href='@routes.Assets.at("app/css/main.css")'>

但是,build.sbt中的较少配置似乎不起作用。我想编译public/app/css/main.less。如何实现这一点?

根据播放文档:

必须在
app/assets
目录中定义可用的可编译资产

以及sbt less自述文件:

为相对导入和url中的url重写设置根路径

似乎没有办法做到这一点,因为Play需要一个可以预期可编译资产而不是Scala/Java代码的地方。
rootpath
键似乎只用于在较少的文件中重新写入导入/url

您需要的是:

├───app
│   ├───assets
│   │   ├───css
│   │   ├───img
│   │   └───js
│   │       ├───apis
│   │       ├───config
│   │       ├───controllers
│   │       ├───directives
│   │       ├───filters
│   │       ├───locale
│   │       └───services
│   └───views
└───test

SbtWeb插件中定义的资产的默认路径是:
app/assets

sourceDirectory in Assets:=(sourceDirectory in Compile)。value/“Assets”

因此,它很容易被覆盖:

sourceDirectory-in-Assets:=(sourceDirectory-in-Compile)。值/“path”/“to”/“Assets”