vue使用@include或@mixin报错的问题及解决
作者:草率了小伙
这篇文章主要介绍了vue使用@include或@mixin报错的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue使用@include或@mixin报错解决
vue样式使用
div{ @include transition(); &:hover{ @include translateY(-10px) } }
报错解决方法
1.项目根目录下新建一个vue.config.js文件
里面写入
module.exports = { css: { loaderOptions: { sass: { data: `@import "@/assets/common.scss";` } } } }
2."sass-loader"版本必须在8.0版本以下,不包含8.0,最好用7.1.0版本
@mixin与@include介绍
在Sass里面,我们经常会见到@mixin与@include。
其中:
- @mixin允许定义一个可以在整个样式表中重复使用的样式
- @include就是将我们定义的mixin引入到文档中
定义一个mixin
@mixin my-text { color: red; font-size: 25px; font-weight: bold; border: 1px solid blue; }
使用mixin
使用上面定义的那个mixin, selector是当前的选择器
selector { @include my-text; }
传递变量
/* 混入接收两个参数 */ @mixin bordered($color, $width) { border: $width solid $color; } .myArticle { @include bordered(blue, 1px); // 调用混入,并传递两个参数 } .myNotes { @include bordered(red, 2px); // 调用混入,并传递两个参数 }
如何引入mixin
上面的讲解都是如何定义以及使用mixin。
一般常见的方式是,要创建一个mixin.sass文件,在其中写上定义的mixin。
但是对于我们需要在其他的vue的style标签中去使用这个mixin时,怎么去引入的呢? 难道是用import mixin.sass吗?
其实我们需要在vue.config.js 中引入即可。
css: { loaderOptions: { sass: { // 全局引入变量和 mixin additionalData: ` @import "@/assets/scss/variable.scss"; @import "@/assets/scss/mixin.scss"; ` } } },
只针对sass-loader去进行引入:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。