先装less
npm install less less-loader --save-dev
然后将该 loader 添加到 webpack 的配置中去,例如:
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.less$/i,
use: [
// compiles Less to CSS
'style-loader',
'css-loader',
'less-loader',
],
},
],
},
};
新建see.less 文件 定义变量
@primary-color: #007bff;
@secondary-color: #6c757d;
// :root {
// --primary-color: @primary-color;
// --secondary-color: @secondary-color;
// }
@primary-color: var(--primary-color, rgba(255, 80, 215, 1)); // 2a50d7 4875f6
.mt {
color: var(--primary-color);
}
<script>
import "../src/less/saa.less";
</script>
或者
<style lang="less" scoped>
@import "../src/less/saa.less";
</style>
在后在切换主题
<div class="mt">
-----------更改这里的文字颜色啊---------------------
</div>
<button @click="changeSkin('blue')">Load Theme 1</button>
<button @click="changeSkin('green')">Load Theme 2</button>
//然后在方法里边去更改less变量。
methods: {
changeSkin(skin) {
let primaryColor;
let secondaryColor;
if (skin === 'blue') {
primaryColor = '#007bff';
secondaryColor = '#6c757d';
} else if (skin === 'green') {
primaryColor = '#28a745';
secondaryColor = '#6c757d';
}
// 修改 CSS 自定义属性的值
document.documentElement.style.setProperty('--primary-color', primaryColor);
document.documentElement.style.setProperty('--secondary-color', secondaryColor);
},
},