less.modifyVars的使用-改变主题颜色

less.modifyVars的使用-改变主题颜色

注:关于less的引入、语法等,请自行官网学习http://lesscss.cn/#getting-started。本文是针对vue项目(已经安装less依赖的),less.modifyVars的使用。
为了方便需要者阅读,我把控制都放在vue文件中,感兴趣的可以自己封装方法。

vue.config.js的配置

注:不需要初始化主题颜色的可跳过此步
在vue.config.js 文件 css的配置中加入loaderOptions的配置项,配置如下(其他的配置我都去掉了,影响阅读)

module.exports = {
    css: {
        // css预设器配置项
        loaderOptions: {
            less: {
                // 若 less-loader 版本小于 6.0,请移除 lessOptions 这一级,直接配置选项。
                modifyVars: {
                    // 初始化可直接覆盖变量
                    'primary-color': '#1890FF',
                    'text-color': '#111',
                    'border-color': '#eee',
                    'nice-blue': '#f0f'
                },
                javascriptEnabled: true
            },
        }
    }
}

全局less的创建

注:我是在public文件夹中创建的
color.less
在这里插入图片描述
less代码:

@primary-color: #1890ff;
.primarybg{
  background: @primary-color;
}

vue引入less

<template>
	<div class="primarybg">123</div>
</template>


js代码:
created() {
    // Don't compile less in production!
    /* if (process.env.NODE_ENV === 'production') {
      return;
    } */
    // Determine if the component is remounted
    function buildIt() {
      // 正确的判定less是否已经加载less.modifyVars可用
      if (!window.less || !window.less.modifyVars) {
        return;
      }
      // less.modifyVars可用
      window.less.modifyVars({
          '@primary-color': '#eee'
        })
        .then((res) => {
            console.log(res)
        })
        .catch((res) => {
            console.log(res)
        });
    }
    // insert less.js and color.less
    const lessStyleNode = document.createElement('link');
    const lessConfigNode = document.createElement('script');
    const lessScriptNode = document.createElement('script');
    lessStyleNode.setAttribute('rel', 'stylesheet/less');
    lessStyleNode.setAttribute('href', __webpack_public_path__ + 'color.less')
    lessConfigNode.innerHTML = `
      window.less = {
        async: true,
        env: 'production',
        javascriptEnabled: true
      };
    `;
    lessScriptNode.src = 'https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js';
    lessScriptNode.async = true;
    lessScriptNode.onload = () => {
      buildIt();
      lessScriptNode.onload = null;
      return true
    };
    document.body.appendChild(lessStyleNode);
    document.body.appendChild(lessConfigNode);
    document.body.appendChild(lessScriptNode);
  },
//大致解释下吧,我是在created周期创建script标签,异步引入color.less样式,因此修改主题颜色需要在加载完less即onload函数里执行,buildIt()是封装的less.modifyVars方法。

效果图:
在这里插入图片描述
意见:这是很简单的less.modifyVars的使用实例,请格外注意less文件的创建及引入路径配置
结构很简陋,供大家参考。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: mrcrowl.easy-less-1.7.2是一个用于编译Less文件的工具。Less是一种基于CSS的扩展语言,它提供了一些常见的CSS缺失特性,如变量、嵌套、混合、函数等,使得编写和维护样式代码更加方便和灵活。 mrcrowl.easy-less-1.7.2通过解析Less文件并将其转换为普通的CSS文件,实现了对Less语法的支持。它提供了一个简单的界面来配置和操作编译过程,使得使用者无需了解复杂的编译过程也能轻松地将Less转换为CSS。 使用mrcrowl.easy-less-1.7.2,我们可以轻松创建一个Less项目,并定义变量和混合,以及嵌套的样式规则。通过编译,mrcrowl.easy-less-1.7.2将会自动将Less文件转换为生成对应的CSS文件,供我们在网页中使用。 除了基本的编译功能之外,mrcrowl.easy-less-1.7.2还支持一些高级特性,如自动压缩合并、自动添加浏览器兼容前缀等。这些特性使得我们在开发过程中能够更加高效地编写样式代码,并减少了手动处理的工作量。 总而言之,mrcrowl.easy-less-1.7.2是一个简单易用的Less编译工具,它为开发者提供了方便的方式来将Less代码转换为CSS,提高了样式代码的可维护性和效率。无论是个人项目还是团队开发,mrcrowl.easy-less-1.7.2都是一个非常有用的工具。 ### 回答2: mrcrowl.easy-less-1.7.2是一个用于开发Web应用程序的简化CSS编写工具。它是基于Less预处理器构建的,Less是一种CSS扩展语言,通过它可以更方便地编写和管理CSS代码。 mrcrowl.easy-less-1.7.2的主要目的是简化CSS编写的过程。它提供了一种更加简洁和有层次结构的方式来组织和编写CSS代码。通过使用变量、混合(Mixins)、嵌套规则和其他功能,开发人员可以更容易地管理和重用样式。此外,它还提供了一些额外的功能,比如自动前缀、颜色函数和数学运算,进一步简化了CSS开发。 mrcrowl.easy-less-1.7.2具有良好的兼容性和易用性。开发人员可以将其集成到任何基于Web的项目中,并与其他前端开发工具和框架一起使用。它可以根据开发人员的需求进行定制,以满足特定的项目需求。 总而言之,mrcrowl.easy-less-1.7.2是一个强大而方便的CSS编写工具,它提供了许多简化CSS开发的功能和特性,使开发人员能够更高效地编写和管理样式。无论是初学者还是有经验的开发人员,都可以从中受益,并节省大量的开发时间和精力。 ### 回答3: mrcrowl.easy-less-1.7.2是一个用于编译Less代码的工具。Less(Leaner Style Sheets)是一种动态样式语言,它扩展了CSS的功能,使得样式的编写更加简洁和灵活。 使用mrcrowl.easy-less-1.7.2,可以将Less文件编译成CSS文件。这样可以在开发过程中使用Less语法来编写样式,而无需在浏览器中进行实时编译。编译后的CSS文件可以直接用于网页的样式调用,使网页加载速度更快。 mrcrowl.easy-less-1.7.2的使用非常简单。首先,需要将Less文件放置在指定的目录中。然后,使用命令行工具或者脚本运行mrcrowl.easy-less-1.7.2,指定Less文件的路径和编译后的CSS文件的保存路径。工具会自动读取Less文件,并将其编译成CSS文件。 mrcrowl.easy-less-1.7.2还支持一些额外的功能。例如,可以设置编译选项,包括压缩CSS,生成Source Map等。还可以监听Less文件的变化,一旦文件发生修改,工具会自动重新编译,提高开发效率。 总的来说,mrcrowl.easy-less-1.7.2是一个实用的Less编译工具,可以简化前端开发过程中的样式编写工作。使用它,我们可以更加便捷地使用Less语法,提高开发效率和网页加载速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值