【问题标题】:import SASS partial over http instead of filesystem通过 http 而不是文件系统导入 SASS 部分
【发布时间】:2011-10-15 00:55:47
【问题描述】:

我有一个 Rails 项目,我想根据用户变量动态创建一个 sass 文件(作为用户自定义站点的一种方式)。我需要通过 http 将该文件@import 到站点的主 sass 文件中,因为它是动态生成的,而不是实际写入文件系统。

如何配置 :load_paths 指令以告诉 SASS 通过 http 而不是通过文件系统查找该文件?

文档说这是可能的,但我在网上找不到任何示例。 http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#custom_importers

【问题讨论】:

    标签: ruby-on-rails ruby http import sass


    【解决方案1】:

    本文档讨论的是您可以实现自己的导入器这一事实;以 HTTP 为例。幸运的是,这样做并不太难。

    在这里,我实现了一个简单的 HTTP 导入器:https://gist.github.com/1111803

    它没有尽可能积极地缓存,你应该知道,除了文件系统之外,Sass 还会使用它来查找所有导入(如果你使用像 Compass 这样的框架,有很多这样的)。如果您需要更高的性能,您可能应该缓存这种情况下的故障。不过,它似乎在我的测试中有效。

    您可以通过要求sass_http.rb 文件然后将其添加到加载路径来使用它:

    require 'sass_http'
    Sass::Plugin.options[:load_paths] ||= []
    Sass::Plugin.options[:load_paths] << Sass::Importers::HTTP.new("http://stylesheets.example.com/")
    

    当前路径必须指向一个目录(即以斜杠结尾)。您应该获得所有常用的调试信息(使用 HTTP,而不是文件系统、路径)。

    【讨论】:

    • 嘿,你的导入语句是什么样子的?
    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    相关资源
    最近更新 更多