zoukankan      html  css  js  c++  java
  • Vue 项目里如何引用全局 Sass 变量文件

    现在每个项目都可能会用到sass了,但是怎么在vue项目里引入一个variables.scss变量文件供整个项目使用呢?本文将为一些刚用vue的新人讲解一下。

    本文环境

    Vue 2.x + Vue-CLI 3.x

    方法一:增加vue.config.js配置

    要在项目下的 vue.config.js 里进行配置(如果没有这个文件,在项目根目录手动创建一下即可):

    const path = require('path');
    
    function resolve(dir) {
      return path.join(__dirname, dir)
    }
    
    module.exports = {
      css: {
        loaderOptions: {
          // 给 sass-loader 传递选项
          // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
          // 因为 `scss` 语法在内部也是由 sass-loader 处理的
          // 但是在配置 `data` 选项的时候
          // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号
          // 在这种情况下,我们可以使用 `scss` 选项,对 `scss` 语法进行单独配置
          scss: {
            additionalData: `
            @import "assets/styles/variables.scss";
            @import "assets/styles/variables1.scss";
            @import "assets/styles/px2rem.scss";
                            `
          },
        }
      },
      chainWebpack: config => {
        config
          .resolve.alias
          .set('@', resolve('src'))    //配置src目录别名
          .set('assets', resolve('src/assets'))    //配置src/assets目录别名
          .set('components', resolve('src/components'));    //配置src/components目录别名
      }
    }
    

    这样配置完,就可以在所有的组件里使用变量了,不需要手动去每个组件里引入变量文件了。切记路径根据自己的项目修改,不要盲目复制!!!

    方法二: sass-resources-loader

    这个loader可以将你的.scss文件作为全局引入,但是这个是要与 webpack 结合的。官网在这。

    安装

    npm install sass-resources-loader
    
    

    配置
    要在项目下的webpack.config.js里进行配置:

    
    /* Webpack@2: webpack.config.js */
    
    module: {
      rules: [
        // Apply loader
        {
          test: /.scss$/,
          use: [
            'style-loader',
            'css-loader',
            'postcss-loader',
            'sass-loader',
            {
              loader: 'sass-resources-loader',
              options: {
                // Provide path to the file with resources
                resources: './path/to/resources.scss',
    
                // Or array of paths
                resources: ['./path/to/vars.scss', './path/to/mixins.scss']
              },
            },
          ],
        },
      ],
    },
    
  • 相关阅读:
    2020全球C++及系统软件技术大会成功落下帷幕
    人工智能能力提升指导总结
    ABAP FUNCTION GUI_DOWN实际应用
    MySQL 数据库基础(二)(MySQL 服务基础与使用 MySQL 数据库)
    【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理
    使用navicat连接oracle数据库遇到问题及解决方法
    cv::mat 保存sqlite数据库,使用qt
    工作总结:涉及数据库、软件测试等内容
    数据结构---归并排序
    C语言运算符优先级 详细列表
  • 原文地址:https://www.cnblogs.com/jiaoshou/p/13502426.html
Copyright © 2011-2022 走看看