使用 node-sass 编译 SCSS 时出现未定义变量错误

Posted

技术标签:

【中文标题】使用 node-sass 编译 SCSS 时出现未定义变量错误【英文标题】:Getting Undefined variable error when compiling SCSS using node-sass 【发布时间】:2018-05-10 10:53:48 【问题描述】:

package.json

"scripts": 
  "compile:sass": "node-sass sass/main.scss css/style.css -w"

ma​​in.scss

@import "abstracts/variables";
@import "base/typography";  

_variables.scss

$color-light-grey: #777;
$color-white: #fff;   

_typography.scss

body 
  color: $color-light-grey;

.heading-primary 
  color: $color-white;

现在我的问题是,当我尝试使用 npm run compile:sass 进行编译时,它会引发以下错误:

"message": "未定义变量:\"$color-light-grey\"。"

【问题讨论】:

variablevariables? 【参考方案1】:

转换所有以“_”开头的文件名 示例:typography.scss >> 到 >> _typography.scss

【讨论】:

请确保您的答案比该问题中已有的答案有所改进。【参考方案2】:

您上面的代码中似乎有两个错误:

您导入了"abstracts/variables",但至少在文本中,文件名似乎是_variables.scss(缺少一个“s”) 您应该先导入"abstracts/variables"

这样:

@import "abstracts/variables";
@import "base/typography";

【讨论】:

它有效,但我不知道。有什么理由会有所作为吗?是否需要按优先级排序文件?

以上是关于使用 node-sass 编译 SCSS 时出现未定义变量错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 node-sass(无 Ruby)编译或转换 sass / scss 为 css?

在ruby中编译时出现未定义的方法错误

编译包含“打开 Findlib”的 Ocaml 文件时出现未绑定模块 Findlib 错误

让 SASS 使用 NodeJS Express 和 node-sass 自动编译

安装 vuetify.js 时出现 scss 文件错误

使用 sql into 时出现未声明的变量错误