是否可以集成Sass和Play Framework 2.3,以便将 Sass 编译为 CSS?如果是这样,我应该怎么做?我试过play-sass插件,但它不能用 Play 2.3 构建,只能到 2.2。
3 回答
您可能知道,Play 已经迁移到使用sbt-web作为其资产管道的模型,而不是旧系统。它比旧系统灵活得多。不幸的是,由于它太新了,它还缺少很多现有的包。你要么必须自己写 sbt-sass,要么等到别人写。我在同一条船上将我的项目迁移到 Play 2.3。
在周二的 Play 网络研讨会上,来自 Typesafe 的 Christopher Hunt 为手写笔做了一个成熟的示例 sbt-web 插件,并在此处链接到源代码。大部分逻辑都是在JS 脚本中以 Node 风格编写的,模块从WebJars而不是 NPM 中提取。
必须修改的过程的两部分在 JS 文件中,用于调用 Sass 而不是 Stylus 的部分和用于解析错误以传递回 Play 的部分。后者只是编辑parseError
功能。前者你可以通过直接插入代码来调用 Sass 或通过将现有的 Sass 包装器改编为 WebJar 表单来实现,就像他们对 Stylus 所做的那样,并以相同的方式使用它。npm 上有几个可以解决问题。
编辑我sbt-sass
几个月来一直在使用 ShaggyYeti 包,效果很好。看另一个答案。
您可以尝试将我的 sbt-sass 插件用于 play framework 2.3。
将来,我会尝试将插件与 js 编译器集成。现在它只适用于 sass 的 ruby 版本。
链接:https ://github.com/ShaggyYeti/sbt-sass 。
我可以使用以下步骤安装 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/获取了最新版本
但是我在运行时遇到了一些错误。