【发布时间】:2021-03-21 20:09:34
【问题描述】:
问题
所以我一直试图让我的“px to vw”mixin 在 Scss 中工作。但是,我一直遇到一个问题,即 mixin 没有执行,例如,当我检查 h1 时,我将 mixin 重新放入检查器中。
我所有的函数都被导入(从我所见)。
我用什么
我运行 Scss,它是通过 Next.js/Webpack 编译的。
代码
首先,我的混音
Scss:
$design-size: 375;
@mixin get-vw($target) {
font-size: (($target / $design-size) * 100) * 1vw;
}
定义 mixin 后,我尝试在变量标题上使用它,如下所示:
Scss
--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 值。提前致谢!
【问题讨论】: