You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

gulp-sass 4.1.0下SASS变量转CSS自定义变量编译报错解决

Sass导出CSS原生变量时gulp-sass 4.1.0编译报错的解决方法

问题背景

需要通过JavaScript修改样式变量来批量调整多个元素的颜色,因此尝试将SASS变量导出为CSS原生变量。按照SASS官方写法编写代码后,在搭载gulpfile.js的Node.js环境、使用gulp-sass 4.1.0版本编译时抛出错误。

报错信息

Error in plugin "sass" Message:
dev\sass\_settings.sass Error: Invalid CSS after "$primary-color: #ff2aad;": 
expected 1 selector or at-rule, was "root: {"
    on line 5 of dev/sass/_settings.sass
    from line 1 of dev/sass/style.sass
    $primary-color: #ff2aad;

原始代码

$primary-color: #ff2aad

:root
  --primary-color: #{$primary-color}

删除:root相关的CSS变量定义代码后编译即可正常通过,需要找到可行方案实现JavaScript操作SASS变量。

解决方案

只需在:root选择器前添加反斜杠转义即可正常编译,最终可运行的SASS代码如下(已修正原示例中CSS变量调用的语法笔误):

$primary_color: #ff2aad

\:root
  --primary_color: #{$primary_color}

h1 
  color: var(--primary_color);

该方案暂无对应官方文档说明,但实际运行无报错或其他异常问题。


内容的提问来源于stack exchange,提问作者Marcus Harting

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 05:21:01