【问题标题】:How to integrate Sass and Play 2.3?如何整合 Sass 和 Play 2.3?
【发布时间】:2014-07-26 07:45:43
【问题描述】:

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

【问题讨论】:

  • 为什么要关闭投票?
  • 不确定...不过现在给你写一个答案

标签: scala playframework sass playframework-2.3


【解决方案1】:

您可能知道,Play 已迁移到使用 sbt-web 作为其资产管道的模型,而不是旧系统。它比旧系统灵活得多。不幸的是,由于它太新了,它还缺少很多现有的包。您要么必须自己编写 sbt-sass,要么等到其他人编写。我在同一条船上将我的项目迁移到 Play 2.3。

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

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

编辑几个月以来,我一直在使用 ShaggyYeti sbt-sass 软件包,效果非常好。请参阅其他答案。

【讨论】:

  • 想评论一下使用 WebJars 与 NPM 之间的区别吗?我的意思是,我为什么要从中提取依赖项而不是 NPM?
  • @aknuds1 我认为 WebJars 的主要胜利应该是它将整个端到端流程带入 SBT,而不必安装 node、npm、bower 等。跨度>
  • 为什么不使用 grunt/gulp 将 sass 编译为 css 并将其放入与构建脚本相同的文件夹中。我打算用我的新设置来做到这一点......
  • @rizwaniqbal 很多人都这样做。我认为在前端构建工作流程中依靠 SBT 有一些不错的方面。实际使用 SBT 的直观性不是其中之一,但只有一个堆栈而没有外部依赖项很方便。虽然需要安装 Ruby 来运行 Sass,这稍微削弱了一点……
  • @acjay,我在安装 ruby​​ 时遇到了同样的问题。因此,我rewrote sbt-sass 插件使用libsass 而不是ruby 版本。因此,它不应该需要除 SBT 之外的任何外部应用程序。可以通过addSbtPlugin("org.irundaia.sbt" % "sbt-sassify" % "1.4.0") 将其包含在 SBT 中
【解决方案2】:

你可以尝试使用我的 sbt-sass 插件玩框架 2.3。

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

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

【讨论】:

    【解决方案3】:

    我可以使用以下步骤安装 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/获取了最新版本

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 2014-08-04
      • 2014-07-27
      • 2014-09-01
      • 1970-01-01
      • 2015-04-25
      • 2015-05-13
      相关资源
      最近更新 更多