Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css Sass:如何将JSON文件直接解码为Sass变量?_Css_Json_Web_Sass - Fatal编程技术网

Css Sass:如何将JSON文件直接解码为Sass变量?

Css Sass:如何将JSON文件直接解码为Sass变量?,css,json,web,sass,Css,Json,Web,Sass,是否可以使用节点Sass解码JSON文件 例: 我需要将这些数据直接迭代到一个变量中 欢迎提供任何帮助:)我不太确定您将如何操作,但下面是一个关于如何将自定义ruby函数添加到sass的很好示例: 下面是一个关于如何解析json的例子: 也许把它们放在一起你就能做这样的事 module Sass::Script::Functions def json(Sass::Script::String) require 'rubygems' require 'json' J

是否可以使用节点Sass解码JSON文件

例:

我需要将这些数据直接迭代到一个变量中


欢迎提供任何帮助:)

我不太确定您将如何操作,但下面是一个关于如何将自定义ruby函数添加到sass的很好示例:

下面是一个关于如何解析json的例子:

也许把它们放在一起你就能做这样的事

module Sass::Script::Functions
  def json(Sass::Script::String)
    require 'rubygems'
    require 'json'
    JSON.parse(string)
  end
end
将其添加到
config.rb
文件的末尾,并确保已安装json ruby gem:

gem install json
并运行:

compass compile --force
让这一切都发挥作用


*
这显然是未经测试且不起作用的,但它可能会帮助您达到需要的目标

有一种名为的宝石,它正是你想要的

可以使用以下命令行代码安装gem:

gem install sass-json-vars

如何使用Sass JSON变量 对于使用Sass的项目>=3.3

在JSON文件中放置变量:

// variables.json
{
    "font-sans": "Helvetica, sans-serif",
    "colors": {
        "red": "#c33"
    }
}
// variables.json
{
    "font-sans": "Helvetica, sans-serif",
    "colors-red": "#c33"
}
在Sass中导入文件以公开变量名称:

@import "variables.json"

body {
    color: map-get($colors, red);
    font: $font-sans;
}
@import "variables.json"

body {
    color: $colors-red;
    font: $font-sans;
}
编译时需要sass json变量:

sass style.scss -r sass-json-vars
sass style.scss -r sass-json-vars

对于使用Sass的项目是一个很好的gem,但不会与
节点Sass
一起工作(这是原始问题的要求)


相反,try本质上是一样的,只是为了适应
节点sass
的导入器api而重新工作。

@import../data/data.json”
仅用于导入sass文件。为什么它会神奇地解码json?尝试使用ruby为您解码json,然后将其导入sass。@agconti yeahh,我的示例有点疯狂,但如何使用ruby解码?@Raul您需要使用Grunt编译sass,并使用
require:'/path/to/script.rb'
(相对于项目的根目录)要求自定义ruby脚本在使用指南针的时候我是如何实现这一点的?@ BATANWA:AFAIK,你需要考虑的是,你使用的SAS版本。你是否在用指南针应该没什么区别。如果描述的过程对您不起作用,您可能希望联系开发团队@或打开一个问题@。它不解析
(因此您不能包含URL或对其他资产的引用)。在类似
{“img”的情况下中断:https://cloudfront.com/foo/bar.jpg“}
@Daniel_L:你应该把它作为一个问题记录下来@@JohnSlegers这个问题从11月份就开始了哈哈。。。
sass style.scss -r sass-json-vars