前端框架ElementUI使用sass离线生成自定义主题
前言
大概是人员离职、缺乏人力维护等相关原因,前端框架ElementUI框架官网的在线生成主题功能总是出现503错误。为此我专门总结了一篇教程,如何使用sass离线生成自定义主题, 从而摆脱对ElementUI官网的依赖。
安装依赖
// sass-loader需要指定低版本,不然会报错
npm install --save-dev sass-loader@7.0
npm install style-loader --save-dev
npm install node-sass --save-dev
配置
在 build 文件夹下的 webpack.base.conf.js 找到 module 下的 rules 配置, 在该配置数组末尾增加一个元素:
{
test: /.sass$/,
loaders: ['style', 'css', 'sass']
}
意思是为sass文件指定loader解析。
新建一个样式文件,例如 ./src/assets/element-variables.scss,写入以下内容:
/* 改变主题色变量 */
$--color-primary: #409EFF;
/* 改变 icon 字体路径变量,一定要写,不然错误 */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import "~element-ui/packages/theme-chalk/src/index";
之后,在项目的入口文件./src/main.js中,直接引入以上样式文件即可(无需引入 Element 编译好的 CSS 文件):
import Vue from 'vue'
import Element from 'element-ui'
import './assets/element-variables.scss'
Vue.use(Element)
后面如果要改变样式值,可以直接在element-variables.scss文件修改(参考改变主题色变量的写法) 。
关于主题变量有哪些key和取值,可以参考文件 node_modules/element-ui/packages/theme-chalk/src/common/var.scss
如果你之前有在官网生成了config.json,则可以把里面的值复制出来,写到element-variables.scss里面。
如果你想参考一个生产环境的配置例子,请参考 https://github.com/star7th/showdoc/tree/master/web_src
如无特殊说明,本站皆为原创。转载请注明来自第七星尘的独立博客的《前端框架ElementUI使用sass离线生成自定义主题》
2022-12-20
编程技术
评论