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