我正在使用gatsby-plugin-sass.
我的gatsby-config.js文件:
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`,
},
},
],
}
Run Code Online (Sandbox Code Playgroud)
我有以下样式文件结构:
|
|src
|-styles
|--base
|--- _variables.scss
|--components
|--- _Buttons.scss
|--- ...
|--main.scss
Run Code Online (Sandbox Code Playgroud)
我的_Buttons.scss文件是这样导入的:
@import '../base/variables';
@use 'sass:color as *;
Run Code Online (Sandbox Code Playgroud)
当我尝试使用这样的sass 颜色函数时(如https://sass-lang.com/documentation/modules所指定)
%buttons-focus {
background-color: color.adjust($primary-color, $alpha: -0.5);
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Invalid CSS after "...nd-color: color": expected expression (e.g. 1px, bold), was ".adjust($primary-co"
Run Code Online (Sandbox Code Playgroud)
在我的 main.scss 我导入这样的样式:
@import './components/Buttons';
Run Code Online (Sandbox Code Playgroud)
我在监督什么吗?我试着改变了@use用@import,没有运气。对我来说, gatsby-sass-plugin 似乎不知道 sass 模块。
ksa*_*sav 10
gatsby-plugin-sassnode-sass在引擎盖下使用。但是为了使用@use 支持内置模块,您需要配置gatsby-plugin-sass为使用dart-sass。见下文。
目前只有 Dart Sass 支持使用 @use 加载内置模块。其他实现的用户必须使用它们的全局名称来调用函数。
默认情况下使用 Sass (node-sass) 的节点实现。要使用用 Dart (dart-sass) 编写的实现,您可以安装 sass 而不是 node-sass 并将其作为实现传递到选项中:
npm install --save-dev sass
Run Code Online (Sandbox Code Playgroud)
gatsby-config.js
plugins: [
{
resolve: `gatsby-plugin-sass`,
options: {
implementation: require("sass"),
},
},
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |