Css Sass:如何将JSON文件直接解码为Sass变量?
是否可以使用节点Sass解码JSON文件 例: 我需要将这些数据直接迭代到一个变量中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
欢迎提供任何帮助:)我不太确定您将如何操作,但下面是一个关于如何将自定义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