webpack + vue + less 全局变量的解决方案

今天发现一个好用的东西sass-resources-loader
sass-resources-loader不仅支持SASS,还支持LESS,POSTCSS等
由于Vue单文件组建内,less变量不能共享
每个文件都要@import一遍,费时费力还不讨好
接下来使用sass-resources-loader设置less全局变量

安装


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

设置


./build/utils.jsexports.cssLoaders中添加lessResourceLoader

function lessResourceLoader() {
    var loaders = [
      cssLoader,
      'less-loader',
      {
        loader: 'sass-resources-loader',
        options: {
          resources: [
            path.resolve(__dirname, '../src/style/common.less'),
          ]
        }
      }
    ];
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }

使用


common.less
@color-red=red;
HelloWorld.vue
<style lang="less">
a {
  color: @color-red;
}
</style>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,281评论 0 21
  • 原文http://www.cnblogs.com/libin-1/p/6596810.html 版本号 vue-c...
    tengrl阅读 3,768评论 0 0
  • vue-cli生成的工程下,样式使用了less语言,其中定义了一些全局变量,比如常用颜色,便于样式切换。 但是Vu...
    Quincy_X阅读 3,269评论 0 3
  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,275评论 7 35
  • 小溪 你流向东方 遇到蜿蜒的渠道 你减速前行,静静流淌 遇到悬崖绝壁 你自有形成瀑布的傲气 遇到庞大分流 你大气融...
    七彩洋阅读 433评论 0 1