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去进行引入:

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
