【问题标题】:Raw CSS stylesheet with sass带有 sass 的原始 CSS 样式表
【发布时间】:2012-11-28 03:17:34
【问题描述】:

我正在使用 Compass 构建一组 Sass 样式表。

我还有一个 bootstrap.css 的缩小副本,我想将它包含在我部署的站点中。但是,我不确定将它保存在哪里或如何处理它。

如果我将它重命名为 bootstrap.scss,那么 Compass 会选择它并编译它。这需要几秒钟,我真的不需要增加构建时间。

如果我将其命名为 bootstrap.css,那么它将被忽略。

理想情况下,会有一个标志,或某种方式告诉指南针简单地复制该文件而不是尝试编译它。存在吗?

【问题讨论】:

  • 我们的产品是bootstrap.css。是什么阻止你保持原样?
  • 我不清楚你的意思。您将 bootstrap.css 存储在哪里?
  • Sass 不应该编译 .css 文件。 @import 指令在 Sass 中具有双重作用:如果是 Sass 文件,则将其编译到您的 CSS 文件中;如果是 CSS 文件,则写出 CSS @import 语句。

标签: css sass compass-sass


【解决方案1】:

如果您的 CSS 文件不应该编译到您完成的 CSS 文件中,那么它应该放在您编译的 CSS 文件所在的任何位置。然而,这通常不是我们想要的行为:一个普通的 CSS @import 会生成额外的 HTTP 请求。

让你的 CSS 文件由 Sass 编译并没有真正的缺点,因为该文件的编译应该被缓存(除非你正在删除你的 .sass-cache 文件?)。 Sass 应该只在文件或依赖于更改的文件时重新编译它。

【讨论】:

  • Bootstrap 在这种情况下是一个独立的 css 文件 - 它应用于站点的管理区域,而主站点有自己的 css,由 sass 生成。因此,将它们全部放在一起将是不利的。我不想将其保留在“已编译的 css”区域,因为我认为这是一个生成的目录,并希望能够将其清除,将其从源代码控制中排除等 - 对我来说,包含源样式表感觉很混乱在那里。
  • 重新。编译它 - 我经常运行 compass clean ,因为我发现 compass 并不总是完全可以接受更改 - 我喜欢在推动更改之前这样做,以仔细检查是否没有引入错误。部署过程检查并从头开始构建。它增加了五秒钟,这对于实际上什么都不做的事情来说已经很多了。我目前正在尝试减少指南针构建时间,这似乎是一个简单的目标。
  • “所以将它们全部放在一起将是不利的”你怎么看?根据数据包的大小,有可能(例如)一个 10kb 文件和一个 15kb 文件可以在单个请求中发送。除非您正在查看 IE 限制或其他样式使您超出特定浏览器将缓存的最大文件大小,否则您将它们拆分为过度优化。
  • 并非如此。一小部分人会访问网站的管理部分。大量的人将访问实际站点。这两个领域几乎是完全互斥的。如果有一些重叠,我会理解这样做 - 例如sass 编码的 css 中有很多特定于页面的样式,它们都捆绑在一起,并与实际站点的每个页面一起发送,这正是您所说的原因。但是仅仅因为管理站点需要它就向我们所有的用户发送 bootstrap.css 是零意义的。
  • 那么您只有两个选择:使用符号链接(将 .css 放在 Sass 目录中并在 CSS 目录中创建符号链接)或滚动您自己的脚本将文件复制到您所在的位置当你去编译你的 Sass 文件时想要它。 Sass/Compass 不能为所欲为。
猜你喜欢
  • 1970-01-01
  • 2014-08-06
  • 2016-10-08
  • 2023-03-29
  • 2015-05-04
  • 2019-04-14
  • 2010-11-06
  • 2015-12-01
相关资源
最近更新 更多