Gatsby 在使用带有 '@use 'sass:color' 的 Sass 文件后失败

2023-12-30

我正在建立一个盖茨比项目gatsby-plugin-sass.

my gatsby-config.js file:

module.exports = {
  plugins: [
    'gatsby-plugin-resolve-src',
    'gatsby-plugin-sass',
    'gatsby-plugin-react-helmet',
    {
      resolve: `gatsby-source-filesystem`,
      options: {
        name: `images`,
        path: `${__dirname}/src/assets/images`,
      },
    },
  ],
}

我有以下款式文件结构:

|
|src
|-styles
|--base
|--- _variables.scss
|--components
|--- _Buttons.scss
|--- ...
|--main.scss

Im my _Buttons.scss文件我是输入像这样:

@import '../base/variables';
@use 'sass:color as *;

当我尝试使用sass 颜色函数像这样(如指定https://sass-lang.com/documentation/modules https://sass-lang.com/documentation/modules)

%buttons-focus {
  background-color: color.adjust($primary-color, $alpha: -0.5);
}

我收到以下错误:

Invalid CSS after "...nd-color: color": expected expression (e.g. 1px, bold), was ".adjust($primary-co"

在我的 main.scss 中,我导入如下样式:

@import './components/Buttons';


我在监督什么吗? 我尝试过改变@use with @import,没有运气。对我来说, gatsby-sass-plugin 似乎不知道 sass 模块。


gatsby-plugin-sass uses node-sass在引擎盖下。但为了支持带有@use的内置模块,你需要配置gatsby-plugin-sass to use dart-sass反而。见下文。

内置模块 - sass-lang https://sass-lang.com/documentation/modules

目前只有 Dart Sass 支持使用 @use 加载内置模块。其他实现的用户必须使用其全局名称来调用函数。

替代 Sass 实现 - gatsby-plugin-sass https://www.gatsbyjs.org/packages/gatsby-plugin-sass/#alternative-sass-implementations

默认情况下使用 Sass 的节点实现 (node-sass)。要使用用 Dart (dart-sass) 编写的实现,您可以安装 sass 而不是 node-sass 并将其作为实现传递到选项中:

npm install --save-dev sass

gatsby-config.js
plugins: [
  {
    resolve: `gatsby-plugin-sass`,
    options: {
      implementation: require("sass"),
    },
  },
]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gatsby 在使用带有 '@use 'sass:color' 的 Sass 文件后失败 的相关文章

  • 如何在 mat-h​​orizo​​ntal-stepper 中为不同形式设置不同宽度

    我想在mat step中为不同的表单设置不同的宽度 第一个表单中的内容为400px宽度 第二个表单内容为700px宽度
  • 如何向 Sass 添加自定义函数(通过 Sass::Script::Functions)?

    我使用的是 vanilla Sass 没有 Compass SUZY Bourbon etc 但我无法确定将 rb 文件放在哪里 我不是 Ruby 程序员 但我确实找到了一个别人编写的函数可以满足我的需要 我尝试过搜索 但得到的结果是死胡同
  • 在多个 Compass 项目中加载全局 SASS 文件

    我想创建一个多个 Compass 项目将访问的 SASS 文件目录 该目录将包含许多具有相似样式 表单元素 clearfixes 重置等 的常见元素的 SASS 文件 我希望在多个项目中访问和使用这些元素 如何在多个项目中包含这个全局 SA
  • SASS/Compass可以将foo.scss编译为foo.min.css和foo.dbg.css吗?

    我想整理一套 scss文件为不同的文件名 在开发中 我想编译例如 foo scss to foo dbg css 未缩小并带有评论 在生产中 我想要例如 foo min css 缩小 有没有办法告诉 SASS Compass 使用什么作为目
  • 如何使用材料用户界面和样式组件定位按钮基础

    使用ToggleButton and ToggleButtonGroup组件来自material ui从材料 ui 开始盖茨比模板 https github com mui org material ui tree master examp
  • 在 SCSS 中使用 HSLA 中的 CSS 变量

    所以我一直在尝试在HSLA中使用CSS变量 我需要保持相同的颜色 但只需更改不透明度 div content here div SCSS root color 332 61 78 div background hsla var color
  • 将自定义 CSS 添加到使用 Compass 生成的精灵中

    我有这个代码my images scss file icon layout smart icon sprite dimensions true import icon png include all icon sprites 输出是这样的
  • 如何使用 Bourbon Neat Framework 实现移动优先

    我一直在使用 bourbon clean 来进行桌面优先布局 效果很好 不过 我想做一个移动优先版本 从移动开始 然后逐步向上 默认网格为 12 列 对于移动设备 我通常使用 4 列网格 我尝试将网格更改为 4 列 然后扩展到 12 列 但
  • SaSS 循环使用

    我想创建类 将特定边距应用于我的块 例如 standard margin top margin top 10px standard margin bottom margin bottom 10px small margin top larg
  • 将 sass 变量导入 gatsby 组件中引用的第二个 Sass 文件

    我正在使用 Gatsby 构建一个静态站点项目 我已经成功安装了 gatsby sass 插件并让 sass 正常工作 但是 我无法将自定义 sass 变量文件正确导入到其他组件 sass 文件中 下面是我的文件夹结构 src compon
  • 如何在Eclipse中集成CSS预处理? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 Eclipse 中编辑 SCSS 文件 最好使用语法突出显示 scss files 我发现这些资
  • gulp-sass 5 没有默认的 Sass 编译器;请自行设置

    插件 gulp sass 错误 信息 gulp sass 5 没有默认的 Sass 编译器 请自行设定 这俩sass and node sass包裹是允许的 例如 在你的 gulpfile 中 var sass require gulp s
  • Angular 2 从 styles.scss 扩展样式

    在 Angular 2 中 我的 CSS 类styles scss file FirstClass 我试图在组件的 SCSS 文件中扩展此类 例如 MyComponent scss like SecondClass extend First
  • Sass 部分导入

    我有 sass 编译的问题 当我有一个部分的项目时 partial scss并将其导入到多个部分文件中 因为它包含颜色变量 它将多次出现在编译的 css 中 这很丑陋 因为同一个规则会多次 推翻 自身 这使得调试信息 chromium 开发
  • 创建由线连接的 CSS3 圆圈

    我必须在 CSS 中实现以下圆形和线条组合 并且我正在寻找有关如何有效实现此功能的指示 圆圈和线条应如下所示 我能够这样实现圆圈 span step background ccc border radius 0 8em moz border
  • 与 webpack 捆绑时如何为每个 .scss 文件提供变量.scss?

    这是我当前的项目目录结构 因为我想不出更好的方法来组织每个组件都有自己的用例 scss文件 但是 整个应用程序都提供主题 其中包括全局variables scss文件 目前 我正在导入variables scss文件位于每个组件的顶部 sc
  • Azure DevOps 管道构建工件中缺少 Gulp 编译的 CSS 文件夹

    一点背景 我有一个小型 dotnet 核心应用程序 该应用程序托管在 Azure 上 并且正在使用 Azure DevOps Pipelines 进行构建和部署 在我们开始使用 DevOps Pipelines 之前 CI 直接连接到 Az
  • 设置 Gatsby 博客分层 URL slug 结构

    我目前正在使用 Gatsby Starter 博客 https github com gatsbyjs gatsby starter blog https github com gatsbyjs gatsby starter blog 我可
  • 如何让 Sass 工作?

    这可能是一个愚蠢的问题 但我偶然发现了这个很棒的 CodePen 我想调整和使用它 我在自己的服务器上启动了一个快速演示 但没有成功 然后我意识到 CodePen 旁边写着 SCSS 我用 google 搜索了它 我有点明白了 但我不知道如
  • 如何将 css 预处理器与 Angular 7 一起使用

    我是预处理器世界的新手 我如何使用它们 特别是 postcss 和 LostGrid 与 Angular 7 我正在尝试申请这段代码 https codepen io anon pen BeLWeb有角度的 正如你所看到的 它使用postc

随机推荐

  • Applescript 中的非阻塞对话框

    我必须编写一个小脚本来为我们的应用程序部署补丁 补丁 将替换应用程序中的几个文件 我决定使用 Applescript 部署补丁 需要复制的文件比较大 复制需要一定的时间 我想知道是否有任何方法可以获得一个不会阻止脚本执行的对话框 以便我可以
  • 如何组合两个数组而不重复值?

    我有两个数组 array 1 2 3 4 array 4 5 6 7 基于它们 我想生成一个仅包含唯一值的数组 array 1 2 3 4 5 6 7 PHP中有没有合适的函数 您可以使用array merge http php net a
  • 无法使用 CasperJS 提交表单 - 换句话说无法登录

    我正在尝试使用 CasperJS 使用方法登录 Tumblrstart fill and waitForUrl but cannot做这个 在我看来 表格没有提交 因为超时waitForUr每次都过期了 Terminal response
  • .net-core项目恢复的包目标始终是全局包目录

    我们有一个解决方案 其中一些项目是 net core 项目 一些是 普通 net 4 6 1 项目 在解决方案级别 我们有一个 NuGet config 文件 用于设置存储库路径
  • 如何捕获 SocketTimeoutException

    假设我有一个名为 SuperSocket 的套接字变量 有什么方法可以捕获超时异常吗 SuperSocket setSoTimeout 5000 catch SocketTimeoutException e System out print
  • mysql DECLARE WHILE 外部存储过程如何?

    我对 mysql 相当陌生 但有 MS SQL 经验 是否有可能声明变量并使用while陈述 外部存储过程 我只找到了人们这样做的例子 1 procedure created 2 execute proc 3 drop proc 建议我正确
  • 我可以在 Android/IOS Webview 中使用 navigator.mediaDevices.getUserMedia 吗?

    我在 Android IOS 的本机应用程序中使用 web api 时遇到一些问题 在webview中 我渲染了一个html 我想使用相机拍照 我搜索web api并找到了一个方法 那就是 navigator mediaDevices ge
  • C++中加宽和缩小的区别?

    有什么区别widening and 缩小在 C 中 铸造是什么意思 铸造有哪些类型 这是一般的转换 而不是 C 特有的 加宽 转换是从一种类型到另一种类型的转换 其中 目标 类型具有比 源 更大的范围或精度 例如 int 到 long fl
  • 使用 BigQuery 进行日志分析

    我正在尝试使用 BigQuery 进行日志分析 具体来说 我有一个 appengine 应用程序和一个 javascript 客户端 它将向 BigQuery 发送日志数据 在 bigquery 中 我将完整的日志文本存储在一列中 同时还将
  • 自定义S3中的404页面

    我在亚马逊存储桶和实例方面几乎是个新手 我现在要做的是错误 404 的自定义错误页面 现在显示的是默认错误页面 显示非用户友好的 XML 告诉没有找到该文件 有什么好的方法可以做到这一点吗 我发现文档非常不清楚 它说 提供这个自定义错误文档
  • 如何在 DynamoDB 中过滤嵌套数组对象

    我对 AWS DynamoDB 非常初学者 我想使用 SENDTO emailAddress 扫描 DynamoDB 电子邮件受保护 cdn cgi l email protection 作为过滤器表达式 数据库结构如下所示 ID NAME
  • 具有自定义单元格的 UITableView 在 iOS 6 上绘制良好,但在 iOS 7 中完全白色

    我正在 Xcode 5 上构建一个针对 iOS 6 的应用程序 我在使用自定义单元格构建表格视图时遇到问题 有趣的是 它一直工作得很好 直到我今天更新到 Xcode 5 0 2 我不知道发生了什么变化 当我弄乱 iOS 7 SDK 附带的白
  • 如何使用 OpenXML Sdk 替换段落的文本

    我正在使用 Net OpenXml SDK 2 0 解析一些 Openxml word 文档 作为处理的一部分 我需要用其他句子替换某些句子 在迭代这些段落时 我知道何时找到需要替换的内容 但我对如何替换它感到困惑 例如 假设我需要替换句子
  • 全局键盘挂钩不起作用

    我创建了一个全局键盘挂钩 Hook 在 DLL 中创建 pragma comment linker SECTION SHARED RWS pragma data seg SHARED static HHOOK hkb NULL static
  • 为什么 Flask 限速解决方案使用 Redis?

    我想限制我的 Flask API 的速率 我找到了2个解决方案 The 烧瓶限制器 https flask limiter readthedocs io en stable 扩大 使用 Redis 的 Flask 网站的片段 http fl
  • 为什么相等的整数与相等的列表的行为不同?

    这个问题更多的是出于好奇 我一直在阅读Python中int对象的实现细节 1 http www laurentluce com posts python integer objects implementation and 2 http s
  • 仅 X 上的 Android 位图平铺

    我想使用仅在水平方向上平铺的位图 有什么方法可以做到这一点 以便它仅在 X 上扩展 就像 CSS 上的重复 x 一样 我使用以下代码 但位图平铺水平和垂直
  • 从 byte[] 返回 FileResult

    我正在开发 ASP NET Core API API 是数据库驱动的 我将图像存储在数据库中 我的ArtistImage cs实体看起来像这样 艺术家图像 cs public class ArtistImage public int Id
  • 在绘图标题中使用多种字体大小 (Python)

    我有一个图表标题 它使用换行符跨越多行 我希望第一行之后的所有内容都采用较小的字体 实际上是副标题 但无法找到实现此目的的方法 在这里看不到任何类似的问题 import plotly graph objs as go data layout
  • Gatsby 在使用带有 '@use 'sass:color' 的 Sass 文件后失败

    我正在建立一个盖茨比项目gatsby plugin sass my gatsby config js file module exports plugins gatsby plugin resolve src gatsby plugin s