vue实现引用less,sass全局变量

1、npm install sass-resources-loader --save-dev;

2、build/utils.js中,在

function generateLoaders (loader, loaderOptions){}
     上面或者下面添加以下代码
function resolveResource(name) {
      return path.resolve(__dirname, '../src/assets/css/' + name);
  }
  function generateSassResourceLoader() {
      var loaders = [
        cssLoader, 
        // 'postcss-loader',
        'less-loader',
        {
            loader: 'sass-resources-loader',
            options: {
              // it need a absolute path
              resources: [resolveResource('basic.less')]
            }
        }
      ];
      if (options.extract) {
        return ExtractTextPlugin.extract({
          use: loaders,
          fallback: 'vue-style-loader'
        })
      } else {
        return ['vue-style-loader'].concat(loaders)
      }
  }
    其中resolveResource中的‘../src/assets/css’换成自己的less/sass文件的路径,generateSassResourceLoader中
    resources:[resolveResource('basic.less')]的basic.less换成自己的less/sass文件名;(注意:如果是sass,则

var loaders = [
        cssLoader, 
        // 'postcss-loader',
        'less-loader',  
        {
            loader: 'sass-resources-loader',
            options: {
              // it need a absolute path
              resources: [resolveResource('basic.less')]
            }
        }
      ];
  中的‘less-loader’需要改为 'sass-loader');
3、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')
less: generateLoaders('less') 替换成 less: generateSassResourceLoaer()
4、npm run dev,然后就完成了。
--------------------- 
作者:summer_雪 
来源:CSDN 
原文:https://blog.csdn.net/u014292161/article/details/79193381 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/a460550542/article/details/84854791
今日推荐