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

使用Glenn Marks版Live Sass Compiler替换@import为@use时出现未定义变量错误

解决Live Sass Compiler(Glenn Marks版)替换@import为@use后的变量未定义错误

出现Error: Undefined variable.的核心原因是**@use和@import的作用域机制完全不同**:

  • @import会把导入文件里的所有变量、混入等直接暴露到全局作用域,所以可以直接调用变量名
  • @use会将导入的模块进行封装,所有成员默认归属于该模块的命名空间(默认是去掉下划线和后缀的文件名),直接写变量名自然找不到

给你三个可行的解决办法:

  • 使用默认命名空间调用变量:比如你导入的变量文件是_variables.scss,导入语句写@use 'variables';,之后调用变量时要加上命名空间,像variables.$primary-color
  • 自定义命名空间:导入时指定简短命名空间,比如@use 'variables' as v;,调用时写v.$primary-color,这样更简洁
  • 全局导入(不推荐):如果不想加命名空间,可以用@use 'variables' as *;,把模块所有成员直接导入当前作用域,但这样会失去@use的模块封装优势,不建议在大型项目里用

另外要确认Live Sass Compiler的设置:确保编译器使用的是Dart Sass(@use是Dart Sass的特性),Glenn Marks版默认支持,但可以在VS Code的设置里搜索Live Sass Compiler: Sass Compiler,确认选项是dart-sass而不是node-sass

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:07:02