vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue使用@include或@mixin报错解决

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

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

总结

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

您可能感兴趣的文章:
阅读全文