element-ui 使用自定义主题

方式一:通过 element-ui 在线主题生成工具

step1: 下载已经设置好的主题

element-ui 使用自定义主题_第1张图片

step2: 解压下载的文件,将 theme文件夹放到项目目录下

element-ui 使用自定义主题_第2张图片

step3:将 index.css 引入到main.js中

element-ui 使用自定义主题_第3张图片

 

方式二:通过命令行主题工具 

注意:按照以下步骤安装以后,执行初始化变量文件命令 et - i ,如果报了以下错误,可以通过 nvm 安装 node 版本为 11.15.0 后重新执行下列步骤来解决(未找到其他方法 )。 报错信息如下:

element-ui 使用自定义主题_第4张图片

1. 安装工具:

npm i element-theme -g

2. 安装白垩主题,可以从 npm 安装或者从 GitHub 拉取最新代码。

# 从 npm
npm i element-theme-chalk -D

# 从 GitHub
npm i https://github.com/ElementUI/theme-chalk -D

3. 初始化变量文件

主题生成工具安装成功后,如果全局安装可以在命令行里通过 et 调用工具,如果安装在当前目录下,需要通过 node_modules/.bin/et 访问到命令。执行 -i 初始化变量文件。默认输出到 element-variables.scss,当然你可以传参数指定文件输出目录。

et -i [可以自定义变量文件] > 

✔ Generator variables file

如果使用默认配置,执行后当前目录会有一个 element-variables.scss 文件。内部包含了主题所用到的所有变量,它们使用 SCSS 的格式定义。大致结构如下:

$--color-primary: #409EFF !default;
$--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
$--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
$--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
$--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
$--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
$--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
$--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
$--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
$--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */

$--color-success: #67c23a !default;
$--color-warning: #e6a23c !default;
$--color-danger: #f56c6c !default;
$--color-info: #909399 !default;

...

4. 修改变量

直接编辑 element-variables.scss 文件,例如修改主题色为红色。

$--color-primary: pink;

 5. 编译主题

保存文件后,到命令行里执行 et 编译主题,如果你想启用 watch 模式,实时编译主题,增加 -w 参数;如果你在初始化时指定了自定义变量文件,则需要增加 -c 参数,并带上你的变量文件名。默认情况下编译的主题目录是放在 ./theme 下,你可以通过 -o 参数指定打包目录。

et

> ✔ build theme font
> ✔ build element theme

编译后会在根目录(在未指定编译的主题目录的情况下)下生成一个 theme文件夹,如下:

element-ui 使用自定义主题_第5张图片

6. 使用自定义主题 

和引入默认主题一样,在代码里直接引用「在线主题编辑器」或「命令行工具」生成的主题的 theme/index.css 文件即可。

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false;
import ElementUI from 'element-ui';
// import '../theme2/index.css';
import '../theme/index.css'; //引入自定义主题
Vue.use(ElementUI);

//

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: ''
})

 

你可能感兴趣的:(element-ui 使用自定义主题)