VUE2项目安装使用less

编辑文章时所使用vue版本

{
	"vue": "^2.5.2",
}

一、安装less、less-loader和sass-resources-loader

npm install less@3.0.4 less-loader@5.0.0 sass-resources-loader@2.2.5

二、修改build/webpack.base.conf.js配置

moduel.exports = {
	...,
	module: {
		rules: [
			...,
			{
				test: /\.less$/,
				use: ['vue-style-loader', 'css-loader', 'less-loader']
			}
		]
	}
}

三、修改build/util.js配置

// 修改已有的generateLoaders
function generateLoaders(loader, loaderOptions) {
	const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]

    if (loader) {
      if (loader == 'less') {
        loaders.push(
          {
            loader: 'less-loader',
            options: Object.assign({}, loaderOptions, {
              sourceMap: options.sourceMap
            })
          },
          {
            loader: 'sass-resources-loader',
            options: {
              // common.less 自己的公共变量路径
              resources: [path.resolve(__dirname, '../src/style/variables.less')]
            }
          }
        );
      } else {
        loaders.push({
          loader: loader + '-loader',
          options: Object.assign({}, loaderOptions, {
            sourceMap: options.sourceMap
          })
        })
      }
}

...

   // 新增一个全局使用less的函数
  function lessResourceLoader() {
    var loaders = [
      cssLoader,
      'less-loader',
      {
        loader: 'sass-resources-loader',
        options: {
          resources: [
            path.resolve(__dirname, '../src/style/variables.less') //定义全局变量的文件路径
          ]
        }
      }
    ];
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      });
    } else {
      return ['vue-style-loader'].concat(loaders);
    }
  }
// 修改less的配置
return {
	...
	less: lessResourceLoader(),
	....
}

四、现在可以在vue文件中开始使用less

<style lang="less" scoped>
	@box-color: #3370ff;
	.box {
		color: @box-color
	}
</style>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值