zoukankan      html  css  js  c++  java
  • sass变量引入全局

    https://www.jianshu.com/p/ab9ab999344b(copy)

    本文以Sass做案例,Less的参考,基本配置大同小异。
    假如我们有一个Sass的全局变量common.scss文件,路径 ../style/common.scss 代码如下:

    @mixin t-button($color,$background) {
        color:$color;
        background:$background;
        padding:5px 10px;
    }
    

    现在我们想在一个vue文件里引用这个全局样式,怎么办呢?我们能按下边的方法导入。

    <style>
    @import '../style/common.scss';
    button{
      @include t-button(#fff,blue);
    }
    </style>
    

    但是这样有一个问题,如果还有其他vue页面也想用这个全局的common.scss文件,我们还需要在使用的vue页面里再次按照上面的方法引入,那么问题来了,如果我更改了这个common.scss文件的路径,那么每次我还要去修改所有的vue页面里的common.scss文件文件路径。有什么好的方法呢,让我一次引入,所有的vue页面均可以自动引用?
    1.添加依赖

    npm install sass-resources-loader --save-dev
    

    在项目build文件夹里找到utils.js ,定位到下边代码

    return {
        css: generateLoaders(),
        postcss: generateLoaders(),
        less: generateLoaders('less'),
        sass: generateLoaders('sass', { indentedSyntax: true }),
        scss: generateLoaders('sass'),
        stylus: generateLoaders('stylus'),
        styl: generateLoaders('stylus')
      }
    

    把上面这句scss: generateLoaders('sass'),改成如下

    scss: generateLoaders('sass').concat(
          {
            loader: 'sass-resources-loader',
            options: {
              resources: path.resolve(__dirname, '../src/assets/css/all.scss')//这里按照你的文件路径填写
            }
          }
        )
    

    OK,完成,修改后的代码是

    return {
        css: generateLoaders(),
        postcss: generateLoaders(),
        less: generateLoaders('less'),
        sass: generateLoaders('sass', { indentedSyntax: true }),
        scss: generateLoaders('sass').concat(
          {
            loader: 'sass-resources-loader',
            options: {
              resources: path.resolve(__dirname, '../src/assets/css/all.scss')//这里按照你的文件路径填写
            }
          }
        ),
        stylus: generateLoaders('stylus'),
        styl: generateLoaders('stylus')
      }
    

    这样就可以在所有的scss文件或者vue文件运用全局的scss,而不需要在单独引入。



  • 相关阅读:
    coalesce搭配nullif使用
    阿里云服务器数据备份到本地
    MSSQL 删除数据库表数据
    MSSQL 删除重复数据
    MSSQL 字段分组拼接
    MySql 字段分组拼接
    获取格式字符串第idx个值及实例
    针对字符串长度超过8000的处理
    【21】责任链模式
    【20】策略者模式(Strategy Pattern)
  • 原文地址:https://www.cnblogs.com/dianzan/p/10621586.html
Copyright © 2011-2022 走看看