请问如何配置才能在组件中访问公用scss中的变量尼?

发布于 2022-09-11 23:47:01 字数 1598 浏览 14 评论 0

我现在使用的是@vue/cli 4.05这个版本

  • 我现在通过style-resources-loader这个插件,让组件解析出公用的scss文件的样式,但是无法在组件中访问公用scss文件中的变量
  • 请问如何配置才能够访问scss文件中的变量?
  • 我现在的vue.config.js配置入下,参考这篇文章
const path=require('path')
module.exports={
  publicPath: process.env.NODE_ENV === 'production' ? '/public/' : './',
  assetsDir:'assets',
  indexPath:'myIndex.html',
  filenameHashing:false,
  productionSourceMap: false,
  chainWebpack:config=>{
    const types=['vue']
    types.forEach(type=>{
      config.module.rule('scss').oneOf(type).use('style-resource')
      .loader('style-resources-loader')
      .options({
        patterns:[
          path.resolve(__dirname,'./src/assets/css/variable.scss'),
          path.resolve(__dirname,'./src/assets/css/base.scss'),
        ]
      })
    })
  }
}
  • 这是公用的scss文件
//variable.scss
@charset 'utf-8';
$bg:"skyblue";
$w:"100px";
$h:"100px";
$tsize:"50px";
.test{
  height: 100px;
  width: 100px;
  background: rgb(19, 147, 233);
}


//base.scss
@charset 'utf-8';
.test{
  border: 1px solid rebeccapurple;
}
  • 这是test组件
<template>
  <div>
    <div class="test">
      test
    </div>
  </div>
</template>
<style lang="scss">
  .test{
    /*这个$tsize访问不了,但没报错*/
    font-size:$tsize;
  }
</style>
  • 实现结果,字体大小并没有生效

test.png### 问题描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅紫色的梦幻 2022-09-18 23:47:01

clipboard.png
可以参考一下.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文