zoukankan      html  css  js  c++  java
  • element 更换主题

    1 直接在项目中改变scss变量

    Element中的theme-chalk使用scss编写,如果项目中使用了scss,那么可以直接在项目中改变Element的样式变量。新建一个样式文件,例如element-variables.scss

    /*修改主题色变量*/
    $--color-primary:red;
    /*改变icon字体路径变量,必须*/
    $--font-path:'~element-ui/lib/theme-chalk/fonts';
    @import '~element-ui/packages/theme-chalk/src/index';

    之后,在项目的入口文件中,直接引入以上样式文件即可(无需引入Element编译好的css文件);

    项目中使用sass,需要安装sass sass-loader node-sass

    npm i sass sass-loader node-sass --save-dev

    在引用sass文件时如果报错:

    Module build failed: TypeError: this.getResolve is not a function at Object.loader...

    是因为sass-loader的版本太高,只需要降低sass-loader的版本就可以了;

    2 安装工具

    首先安装【主题生成工具】,可以全局安装或者安装在当前项目下,推荐安装在项目中,方便clone项目时能直接安装依赖来启动。

    npm i element-theme  element-theme-chalk --save-dev

    初始化变量文件

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

    1 直接执行 node_modules/.bin/et -i

    直接在当前项目的根目录下生成element-variables.scss文件

    2 指定文件名字node_modules/.bin/et -i my-theme.scss

    直接在当前项目的根目录下生成my-theme.scss文件

    3 指定文件在指定的文件夹下:node_modules/.bin/et -i theme/my-theme.scss

    直接在当前项目的根目录下theme文件夹下生成my-theme.scss(前提条件theme文件夹是存在的)

    生成的文件包含了主题所用到的所有的变量,它们使用SCSS的格式定义,直接修改变量的值就可以了。

    编译主题

    修改文件保存之后,在命令行里执行et编译主题,如果你想启用watch模式,实时编译主题,增加-w参数;如果你在初始化时指定了自定义变量文件,则需要

    增加 -c 参数,并带上你的变量文件名。默认情况下编译的主题目录是放在./theme下,可以通过 - o 参数指定打包目录。

    本地安装主题工具,

    1 如果使用的是默认的配置直接执行 node_modules/.bin/et

    2 自定义生成的文件 node_modules/.bin/et -c theme/my-theme.scss

    3 默认编译后的文件的生成目录是theme文件下,可以增加 -o 参数自定义编译后的文件所在的目录node_modules/.bin/et -c theme/my-theme.scss -o themeCss,编译后的文件就在themeCss文件夹下了

    在项目main.js中直接引入index.css就可以了

    引入自定义主题

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

    import '../theme/index.css'
    import ElementUI from 'element-ui'
    import Vue from 'vue'
    
    Vue.use(ElementUI)

    搭配插件按需引入组件的主题,如果是搭配babel-plugin-component(组件需要按需引入时,需要先安装babel-plugin-component插件)一起使用,只需要修改.babelrc的配置,

    指定styleLibraryName路径为自定义主题相对于.babelrc的路径,注意要加~。

    {
    
      "plugins":[
    
       ["component",{"libraryName":"element-ui","styleLibraryName":"~theme"}] 
    
    ]
    
    }

    参考:https://element.eleme.cn/#/zh-CN/component/custom-theme

  • 相关阅读:
    单例模式的几种写法 总结
    TCP的三次握手与四次挥手总结(详解+动图) 面试准备
    向mysql插入表中的中文显示为乱码或问号的解决方法,亲测有用!!
    再论红黑树
    jQuery插件机制
    jQuery高级案例
    jQuery事件绑定与切换
    jQuery动画和遍历
    jQuery基础案例
    DOM操作
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/12738914.html
Copyright © 2011-2022 走看看