element plus 主题色替换

42 篇文章 0 订阅

最近在学习vue3.0,再配合饿了吗,尝试重构一个项目。因为element ui只适用于2.x不适用于3.x。所以只能使用element plus。现在我有一个需求是需要把主题色需要进行替换。使用element plus官网提供的方法设置scss均无效。

尝试降低至1.1.0-beta.1之前的版本,这样可以使用和element ui一样的主题编辑器进行设置。但是在网站设置颜色后点击下载,直接报错。这个方法也已失败告终。最后查阅资料使用element-theme可以来解决这个问题。

解决方案如下:

1、从官网安装相关的库:

npm install element-theme --save-dev
npm install element-theme-chalk --save-dev

2、生成scss样式文件:element-variables.scss,这里在构建项目时,初始选择css预处理建议选择sass/scss。执行以下命令

node_modules/.bin/et -i

这里会出现下面两种错误,尝试如下方案解决:

(1)初始化et -i报错primordials is not defined,执行这个命令来解决

在前面两个npm指令的基础上再次执行:
npm i element-themex -g 

(2)node_modules/.bin/et -i 指令无法执行,执行下面命令解决

./node_modules/.bin/et -i

3、生成scss文件,找到如下代码

这是修改主题色的颜色,修改这里
$--color-primary: #FF5B00 !default;

4、完成颜色修改执行如下指令:

node_modules/.bin/et

会生成一个theme的文件夹:

5、最后在main.js/main.ts中引入:

import { createApp } from 'vue';
import ElementPlus from 'element-plus';
import zhCn from 'element-plus/es/locale/lang/zh-cn'
// 这里是引入的css生成的文件
import '../theme/index.css';
import '@/assets/scss/main.scss';
import App from './App.vue';


const app = createApp(App);

app.use(ElementPlus, {
  locale: zhCn,
});
app.mount('#app');

以上即可完成主题的更换,这个方法无论是plus还是ui都可以使用。 如有疑问,或者不对,请在下方评论。大家一起来讨论。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值