webpack - Scss mixin 不应用样式
问题描述
问题
所以我一直试图让我的“px to vw”mixin 在 Scss 中工作。但是,我一直遇到一个问题,即 mixin 没有执行,例如,当我检查 h1 时,我将 mixin 放回检查器内部。
我所有的功能都是导入的(据我所知)。
我用什么
我运行 Scss,它是通过 Next.js/Webpack 编译的。
编码
首先,我的mixin
文案:
$design-size: 375;
@mixin get-vw($target) {
font-size: (($target / $design-size) * 100) * 1vw;
}
定义 mixin 后,我尝试在变量标题上使用它,如下所示:
文案
--heading-1-size: get-vw(32);
但是,它是这样返回的:
使用的 Webpack 函数(不是整个函数,不包括字体渲染):
module.exports = {
trailingSlash: true,
webpack: (config) => {
config.module.rules.map((rule) => {
if (rule.oneOf) {
rule.oneOf.find((configRule) => {
if (Array.isArray(configRule.use)) {
configRule.use.forEach((loaderItem) => {
const isSassRule = loaderItem.loader && loaderItem.loader.includes('sass-loader')
if (isSassRule) {
configRule.use.push({
loader: 'sass-resources-loader',
options: {
resources: [
'./src/styles/config/_media-queries.scss',
'./src/styles/config/_fonts.scss'
]
},
})
}
})
}
})
}
})
return config
},
}
在理想情况下,返回的值将是一个 vw 值。提前致谢!
解决方案
该示例不起作用,因为您尝试使用 a 将 css 属性分配给 css 变量@mixin
,您可以做的是变成get-vw
可@function
用于设置值的a --heading-1-size
。
@function get-vw($target) {
@return (($target / $design-size) * 100) * 1vw;
}
:root {
--heading-1-size: #{get-vw(32)};
}
推荐阅读
- java - 为什么在“new Scanner(System.in);”上出现错误?
- javascript - 如何在javascript中拖动指示线?
- javascript - 如何在单选按钮上执行不同的查询?
- node.js - Hyperledger Fabric Nodejs SDK Eventhub 已关闭
- audio - DBUS ofono无法与pulseaudio通信
- jenkins-pipeline - 在 Jenkins 流水线脚本中使用 @Grab
- facebook - 无法通过API获取instagram新增企业账号
- python-3.7 - 当我进入下一行 if-else 条件时,为什么在 python 中出现此错误?
- google-cloud-platform - Cloud Firestore in datastore 模式转换问题
- javascript - JMeter 响应断言小写值