如何整合Sass和Play 2.3?

时间:2014-06-05 10:44:56

标签: scala playframework sass playframework-2.3

是否可以集成SassPlay Framework 2.3,以便将Sass编译为CSS?如果是这样,我应该怎么做呢?我已尝试使用play-sass插件,但它不会使用Play 2.3构建,只能达到2.2。

3 个答案:

答案 0 :(得分:5)

您可能知道,Play已迁移到使用sbt-web作为其资产管道的模型,而不是旧系统。它比旧系统灵活得多。不幸的是,由于它是如此新颖,它也缺乏很多现有的包。你要么自己写sbt-sass,要么等到别人做。我将我的项目迁移到Play 2.3。

周二的Play网络研讨会上,来自Typesafe的Christopher Hunt为手写笔做了一个完全成熟的示例sbt-web插件,并链接到源here。大部分逻辑在JS script中编写为节点样式,模块从WebJars而不是NPM中提取。

需要修改的过程的两个部分是在JS文件中,用于调用Sass而不是Stylus的部分以及用于解析错误以传递回Play的部分。后者只是编辑parseError函数。前者可以通过直接插入代码来调用Sass或者通过将现有的Sass包装器调整为WebJar形式来实现,就像使用Stylus一样,并以相同的方式使用它。有a couple on npm可以解决问题。

编辑我几个月来一直在使用ShaggyYeti sbt-sass套餐,效果非常好。见其他答案。

答案 1 :(得分:5)

您可以尝试使用我的sbt-sass插件来播放框架2.3。

将来,我会尝试将插件与js编译器集成。现在它只适用于sass的ruby版本。

链接:https://github.com/ShaggyYeti/sbt-sass

答案 2 :(得分:1)

我可以使用以下步骤安装sass插件:

resolvers += "Madoushi sbt-plugins" at "https://dl.bintray.com/madoushi/sbt-plugins/"

addSbtPlugin("org.madoushi.sbt" % "sbt-sass" % "0.9.2")

我从https://dl.bintray.com/madoushi/sbt-plugins/org.madoushi.sbt/sbt-sass/scala_2.10/sbt_0.13/

中选择了最新版本

但是我在运行时遇到了一些错误。