Vue 中实现全局引入 scss 变量

导读

最终实现的效果是:在 vue 文件的 style 标签中以及其它 scss 文件中都可以直接使用全局配置的 scss 变量,不需要再导入对应的 scss 文件。

目录结构

src
│  App.vue
│  main.js
│
├─assets
│  └─styles
│          index.scss
│          variables.scss

配置

// vue.config.js
module.exports = {
// ... other config
  css: {
    loaderOptions: {
      scss: {
        additionalData: `@import "~@/assets/styles/variables.scss";`,
      },
    },
  },
  // ... other config
}

使用

// variables.scss 文件

//  主题色
$themeColor: #0dbc5c; // 一级主题色
$subThemeColor: #51ec97; // 二级主题色

// 字体
$fontColor: #d15656;

// 长度
$w200: 200px;
<template>
  <!-- App.vue -->
  <div id="app">
    <h2>配置全局 scss 变量</h2>
    <div class="box1">哈哈哈</div>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>

<style lang="scss" scoped>
.box1 {
  // 👇 直接使用 scss 变量
  width: $w200;
  height: $w200;
  padding: 10px;
  border-radius: 10px;
  background-color: $themeColor;
  color: $fontColor;
}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值