首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置sbt无插件的编译路径

配置sbt无插件的编译路径
EN

Stack Overflow用户
提问于 2014-11-17 14:50:17
回答 2查看 440关注 0票数 1

我在这个插件中使用了play框架。对于public文件夹,我有以下结构;

代码语言:javascript
复制
├───app
│   ├───css
│   ├───img
│   ├───js
│   │   ├───apis
│   │   ├───config
│   │   ├───controllers
│   │   ├───directives
│   │   ├───filters
│   │   ├───locale
│   │   └───services
│   └───views
└───test

build.sbt中,我有以下内容:

代码语言:javascript
复制
includeFilter in (Assets, LessKeys.less) := "*.less"

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

LessKeys.rootpath in Assets := "public/app/css"

在我的main.scala.html中,我有以下链接标签;

代码语言:javascript
复制
<link rel="stylesheet" href='@routes.Assets.at("app/css/main.css")'>

最后,我的routes有以下几个方面;

代码语言:javascript
复制
GET      /assets/*file             controllers.Assets.at(path="/public", file)

然而,在build.sbt中配置较少似乎不起作用。我想编译public/app/css/main.less。我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-17 18:56:48

根据剧本文档:

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

而无sbt的自述:

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

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

你需要的是:

代码语言:javascript
复制
├───app
│   ├───assets
│   │   ├───css
│   │   ├───img
│   │   └───js
│   │       ├───apis
│   │       ├───config
│   │       ├───controllers
│   │       ├───directives
│   │       ├───filters
│   │       ├───locale
│   │       └───services
│   └───views
└───test
票数 1
EN

Stack Overflow用户

发布于 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"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26975304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档