Sass 如何将SCSS Glob纳入盖茨比项目?

Sass 如何将SCSS Glob纳入盖茨比项目?,sass,gatsby,Sass,Gatsby,我目前正在建立一个使用盖茨比的样板文件。到目前为止,一切都非常简单,易于使用,但我似乎无法解决一个问题,那就是让SCSS glob与我的全局SCSS样式连接起来 我目前已经为每个组件本地化了SCSS样式。但是,我也有一个全局样式(变量、排版等)的样式目录。这也使用了SCS,效果很好。现在我想做的最后一件事是让SCSS glob工作,这样我就可以在我的全局样式中进行导入,如/***.SCSS 目前,我正在使用gatsby插件sass,并已将globImporter作为一个选项包含在我的gatsby

我目前正在建立一个使用盖茨比的样板文件。到目前为止,一切都非常简单,易于使用,但我似乎无法解决一个问题,那就是让SCSS glob与我的全局SCSS样式连接起来

我目前已经为每个组件本地化了SCSS样式。但是,我也有一个全局样式(变量、排版等)的样式目录。这也使用了SCS,效果很好。现在我想做的最后一件事是让SCSS glob工作,这样我就可以在我的全局样式中进行导入,如
/***.SCSS

目前,我正在使用
gatsby插件sass
,并已将
globImporter
作为一个选项包含在我的
gatsby config.js
文件中。然而,它似乎并不适合我

从我读到的
node sass glob importer
应该是我所需要的,但到目前为止没有运气

我的配置如下所示

{
   resolve: `gatsby-plugin-sass`,
   options: {
     importer: globImporter(),
     cssLoaderOptions: {
       camelCase: false,
     },
   },
},
然后,我尝试在我的SCS中执行全局导入,如so
@import./***.scss”但我得到以下错误:

已找到@import循环:

是否有人在盖茨比上设置了scss glob,或者发现我的配置有任何问题


谢谢

如果你仍然有这个问题(或者其他人也有),以下是对我有效的方法:

options: {
  importer: function(url, prev, done) {
    // url is the path in import as is, which LibSass encountered.
    // prev is the previously resolved path.
    // done is an optional callback, either consume it or return value synchronously.
    // this.options contains this options hash, this.callback contains the node-style callback
    var result = globImporter();
    return {file: result.path, contents: result.data};
  }
},
它的灵感来自
节点sass
中的示例代码

请确保在文件顶部包含
var globImporter=require('node-sass-glob-importer')