Vue + Scss 动态切换主题颜色实现换肤

该博客介绍如何在Vue项目中利用Scss实现动态切换主题颜色。首先需要配置Scss,安装依赖并修改webpack配置。接着在全局引入scss,并创建包含不同主题配色的_themes.scss文件。通过js操作HTML的data-theme属性,结合_sass-resources-loader和自定义的混入器,实现颜色的动态切换。最后,通过改变data-theme值完成换肤效果。
摘要由CSDN通过智能技术生成

根据预设的配色方案,在前端实现动态切换系统主题颜色。

大概的思路就是给html根标签设置一个data-theme属性,然后通过js切换data-theme的属性值,Scss根据此属性来判断使用对应主题变量。这里可以选择持久化Vux或接口来保存用户选择的主题。

一、首先需要给项目下载配置Scss

  1. 安装依赖
npm install node-sass sass-loader --save-dev
  1. 找到build中webpack.base.conf.js,在rules中添加scss规则
{
   
    test: /\.scss$/,
    loaders: ['style', 'css', 'sass'v]
}
  1. 在vue文件中使用
<style lang='scss' scoped>

</style>

二、在vue项目全局中引入scss

  1. 安装 sass-resources-loader
npm install sass-resources-loader --save-dev
  1. 然后修改build中的utils.js
scss: generateLoaders('sass')

修改为:

scss: generateLoaders('sass').concat(
    {
   
        loader: 'sass-resources-loader',
        options: {
   
            //你自己的scss全局文件的路径
            resources: path.resolve(__dirname, '../src/style/_common.scss')
        }
    }
)

三、准备工作已经

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值