升级到v3后,sassOptions中的数据选项在gatsby插件sass中停止工作,并用sass替换节点sass

升级到v3后,sassOptions中的数据选项在gatsby插件sass中停止工作,并用sass替换节点sass,sass,gatsby,sass-loader,gatsby-plugin,Sass,Gatsby,Sass Loader,Gatsby Plugin,我决定从我的盖茨比项目中删除节点sass,改用sass。我遵循了v3中提到的内容。我删除了节点sass,现在我的包中有了这些版本。json: "gatsby-plugin-sass": "3.1.0", "sass": "1.32.5", 我需要能够为全局变量/mixin/函数编写一次@use或@import规则,这样我就可以在我的所有scss文件中使用它们,这样我就不必反复重复相同的规则 使用节点sass类似的操

我决定从我的盖茨比项目中删除
节点sass
,改用
sass
。我遵循了v3中提到的内容。我删除了
节点sass
,现在我的
包中有了这些版本。json

"gatsby-plugin-sass": "3.1.0",
"sass": "1.32.5",
我需要能够为全局变量/mixin/函数编写一次@use或@import规则,这样我就可以在我的所有scss文件中使用它们,这样我就不必反复重复相同的规则

使用
节点sass
类似的操作:

{
  resolve: `gatsby-plugin-sass`,
  options: {
    includePaths: [`${__dirname}/src/styles`],
    data: `@import "globals.scss";`,
  },
},
升级后,
includePaths
属性确实起作用,但
数据
不起作用,我从我的scss文件中得到关于“缺少”变量的错误:

{
  resolve: `gatsby-plugin-sass`,
  options: {
    sassOptions: {
      includePaths: [`${__dirname}/src/styles`],
      data: `@use 'globals' as *;`,
    },
  },
},
如果我插入规则
@使用“全局”作为*
在每个scss文件中,错误消失,一切正常,但我不想插入此行并修改我的所有sass文件

我很确定这个问题与
sass-loader
和这个语句()有关,但我不知道如何使它工作,以及它以前工作的原因:

ℹ️ 数据和文件等选项不可用,将被忽略

根据,
data
选项已重命名为
prependData
,然后被删除,取而代之的是
additionalData
。因此:

{
  resolve: `gatsby-plugin-sass`,
  options: {
    additionalData: `@use 'globals' as *;`,
    sassOptions: {
      includePaths: [`${__dirname}/src/styles`],
    },
  },
},

关于属性的名称,您是对的。它必须是
附加数据
,但您必须将其置于
sassOptions
之外和
选项
之内才能工作。您完全正确。修好了。