我在这个插件中使用了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"在我的main.scala.html中,我有以下链接标签;
<link rel="stylesheet" href='@routes.Assets.at("app/css/main.css")'>最后,我的routes有以下几个方面;
GET /assets/*file controllers.Assets.at(path="/public", file)然而,在build.sbt中配置较少似乎不起作用。我想编译public/app/css/main.less。我怎样才能做到这一点?
发布于 2014-11-17 18:56:48
根据剧本文档:
使用中的可编译资产必须在
app/assets目录中定义。
而无sbt的自述:
在相对导入和url中设置url重写的根路径。
似乎没有办法做到这一点,因为Play需要一个可以预期可编译资产的地方,而不是Scala/Java代码。rootpath键似乎只用于重写较少文件中的导入/urls。
你需要的是:
├───app
│ ├───assets
│ │ ├───css
│ │ ├───img
│ │ └───js
│ │ ├───apis
│ │ ├───config
│ │ ├───controllers
│ │ ├───directives
│ │ ├───filters
│ │ ├───locale
│ │ └───services
│ └───views
└───test发布于 2017-04-12 13:05:16
在SbtWeb插件中定义的资产的默认路径是:app/assets
sourceDirectory in Assets := (sourceDirectory in Compile).value / "assets"
因此,它很容易被覆盖:
sourceDirectory in Assets := (sourceDirectory in Compile).value / "path" / "to" / "assets"
https://stackoverflow.com/questions/26975304
复制相似问题