vue.js - 如何在全局引入scss的变量声明

查看:556
本文介绍了vue.js - 如何在全局引入scss的变量声明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

因为想要避免<style> 标签下使用相对路径单独引入scss文件, 在main.js中引入color.scss的文件

import 'assets/scss/color.scss';

但是在组件中的style标签下找不到$red定义。

<style lang="scss" scoped>

.login {
  background-color: $red;
}
</style>

我现在只能在style标签下引用系统目录的相对路径,但这个样会导致不同层级的vue文件的相对路径不统一

<style lang="scss" scoped>
@import '../assets/scss/color.scss';
.login {
  background-color: $red;
}
</style>

有人知道如何在全局引入scss的变量定义吗?

解决方案

此方法仅用于Vue.js2.0及以上版本,假设你的全局变量和Mixin存储在src/assets/scss/color.scss里。

打开 build/utils.js 文件

scss: generateLoaders(['css', 'sass']),

替换为

 scss: generateLoaders(['css', 'sass?data=@import "~assets/scss/color";']),

重新运行 npm run dev 即可在Vue文件里使用全局变量了。

这篇关于vue.js - 如何在全局引入scss的变量声明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆