gpt4 book ai didi

sass - 在命令行上提供 sass 变量定义

转载 作者:行者123 更新时间:2023-12-02 08:42:43 24 4
gpt4 key购买 nike

是否有一种标准或简单的方法来在命令行上定义 sass 变量,或从环境中传递它们?我正在做的是尝试从单个 SCSS 源文件创建不同的 CSS 文件。每个输出文件都将专用于某个目标设备,并包含在带有媒体查询的 HTML 页面中。

更新:看起来这可能还不够。 @if 语法实际上不允许有条件的 sass block ,只允许有条件的 CSS block 。这意味着即使我可以定义一个变量,它也不允许我在文件中进行不同的处理。有什么想法吗?

最佳答案

使用 SASS custom functions 。下面是一个完整的工作示例。

样式.sass:

$primary_color: getenv("SASS_VAR_PRIMARY_COLOR", white)

body
background: $primary_color

sass_函数.rb:

module Sass::Script::Functions
def getenv(name, default)
assert_type name, :String
value = ENV.fetch(name.value, nil)
if not value
return default
end
begin
Sass::Script::Parser.parse(value, 0, 0)
rescue
Sass::Script::String.new(value)
end
end
end

命令行:

SASS_VAR_PRIMARY_COLOR='#123456' sass -r ./sass_functions.rb styles.sass styles.css

如果您使用 Compass,您可以将 module Sass::Script::Functions 直接放入 config.rb 并使用以下代码编译样式:

SASS_VAR_PRIMARY_COLOR='#123456' sass --compass styles.sass styles.css

关于sass - 在命令行上提供 sass 变量定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com