zoukankan      html  css  js  c++  java
  • vue-cli2.0全局使用sass变量

    在安装 sass-resources-loader之前先安装

    npm i @babel/core -D

    1. 安装插件

    npm i sass-resources-loader

    1、如果单纯在main.js中引入global.scss全局样式,不使用全局变量和方法等

    找到 webpack.base.conf.js删掉下面的配置就可以了

    {
        test: /.scss$/,
        loaders: ["style", "css", "sass"]
    }

    使用:main.js引入scss文件    import './assets/style/global.scss'即可。

    2、如果既要引入全局css(scss)样式,又要用到全局变量或者方法,那么就要在步骤1的基础上安装sass-resources-loader插件,然后新建一个var.scss(自己命名)文件专门存放变量或者方法等,例如var.scss:

    复制代码
    @charset "UTF-8";
    
    $themeColor: #409eff;
    
    @mixin ellipsis() {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    复制代码

    然后找到 build/utils.js,将 scss: generateLoaders('sass'),修改为如下:

    复制代码
    scss: generateLoaders('sass')
        .concat(
          {
            loader: 'sass-resources-loader',
            options: {
              resources: path.resolve(__dirname, '../src/assets/var.scss') //这里是单独建的存放变量的scss,我的是 var.scss
            }
          }
        ), 
    复制代码

    使用: main.js  引入   import './assets/style/global.scss';  然后在.vue文件中,可以直接使用 $themeColor 变量 和 ellipsis  公用样式了。

    比如任意一个xxx.vue中可以这样用到

     

    2.配置需要引入的 scss文件

    修改vue-cli的build/utils.js,找到scss的加载设置:

    改为如下   注(文件路径可根据实际情况调整,别写错了)

     
     

    这是我的全局scss文件位置,如下

     
     

    3.使用全局变量

     

  • 相关阅读:
    微信定制开发怎么做?
    bzoj4069【APIO2015】巴厘岛的雕塑
    bzoj3174【TJOI2013】解救小矮人
    bzoj3531【SDOI2014】旅行
    单例模式
    JDK自带的定时任务
    centos6下手工编译vitess
    Rocchio算法
    Excel如何查找名字重复的数据
    MyEclipse8.5快速搭建SSH框架
  • 原文地址:https://www.cnblogs.com/dianzan/p/13265818.html
Copyright © 2011-2022 走看看