我决定node-sass
从我的 gatsby 项目中删除并sass
改用。我遵循了这里提到的 v3 的内容。我删除了node-sass
,现在我有这些版本package.json
:
"gatsby-plugin-sass": "3.1.0",
"sass": "1.32.5",
我需要能够为全局变量/mixins/函数编写一些@use 或@import 规则,这样我就可以在我所有的scss 文件中使用它们,这样我就不必一遍又一遍地重复相同的规则。
有了node-sass
这样的工作:
{
resolve: `gatsby-plugin-sass`,
options: {
includePaths: [`${__dirname}/src/styles`],
data: `@import "globals.scss";`,
},
},
升级后,该includePaths
属性确实有效,但data
没有,我从我的 scss 文件中收到有关“缺失”变量的错误:
{
resolve: `gatsby-plugin-sass`,
options: {
sassOptions: {
includePaths: [`${__dirname}/src/styles`],
data: `@use 'globals' as *;`,
},
},
},
如果我在每个 scss 文件中插入规则@use 'globals' as *;
,错误就会消失,一切都按预期工作,但我不想插入这一行并修改我所有的 sass 文件。
我很确定这个问题sass-loader
与这个声明(文档)有关,但我不知道如何使它工作以及为什么它以前工作:
ℹ️数据和文件等选项不可用,将被忽略。