前端项目review之修改element-ui全局主题颜色配置element-theme-chalk和gulp

每个公司的主题风格肯定是不一样的,比如现在的公司主题就是#00ab7a。在PC端TO-B的项目中少不了用element-ui,这个时候用element-theme-chalk直接本地编译修改了element全局的主题色。

一.修改默认主题配色

1. 全局安装element-theme

npm install element-theme -g

2. 在vue中安装element-theme-chalk到dev生产环境

npm install element-theme-chalk -D

3. 初始化变量文件element-variables.scss

et -i

4. 修改主题配色

在这里插入图片描述

5.编译为prd环境代码

et

6. 在vue中引入element-ui

在这里插入图片描述

7. 如果报错 primordials is not defined

执行

npm install element-themex -g

二. 切换主题

当只有一个主题不需要切换的时候,使用element-theme-chalk就足够了,但是当主题很多的时候,最好使用gulp预处理一下。
GitHub地址https://github.com/gulpjs/gulp

  1. 将 gulp 全局删除
npm rm --global gulp
  1. 全局安装
npm install --global gulp-cli
  1. 进入到有package.json的根目录中执行
npm install --save-dev gulp
npm install gulp-clean-css -D   # 安装gulp-clean-css
npm install gulp-css-wrap -D  # 安装gulp-css-wrap

# or 一起安装
npm install gulp gulp-clean-css  gulp-css-wrap -D 
  1. 在根目录新建gulpfile.js 文件
// gulpfile.js

const path = require('path');
const gulp = require('gulp');
const cleanCSS = require('gulp-clean-css');
const cssWrap = require('gulp-css-wrap');

const className = 'theme-green';
const customThemeName = `.${className}`;
 /* 找需要添加命名空间的css文件,支持正则表达式 */
 // element-change是任务名称,也可以用default
gulp.task('element-change', () => gulp.src(path.resolve(`./theme/index.css`), { allowEmpty: true })
    .pipe(cssWrap({ selector: customThemeName })) // 这个 customThemeName 相当于要给 body 添加的 class
    .pipe(cleanCSS())
    .pipe(gulp.dest(`src/themes/${className}`)));  /* 存放的目录 */
  1. 执行 gulp任务
gulp element-change
  1. 将element的font文件夹copy到theme-green
    在这里插入图片描述
  2. 最后在入口文件中引入index.js
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,可以得知在Vue2.0中引用element-ui组件库需要引入样式文件,并且如果出现报错可以在webpack.config.js中配置file_loader。如果仍然出现问题,可以在项目根目录下的build->webpack.dev.conf.js中将usePostCSS改为false即可。 关于Vue、element-ui/lib/theme-chalk/index.css和webpack的介绍和演示如下: Vue是一套用于构建用户界面的渐进式框架,它的核心库只关注视图层,易于上手,同时也便于与第三方库或既有项目整合。Vue也提供了一套完整的工具链,包括构建工具、脚手架、路由、状态管理等,可以帮助开发者更好地构建大型单页应用。 element-ui是一套基于Vue2.0的组件库,它提供了丰富的UI组件,包括表单、弹窗、导航、布局等,可以帮助开发者快速构建美观、易用的Web应用。 webpack是一个现代化的JavaScript应用程序静态模块打包器,它可以将多个模块打包成一个文件,以便在浏览器中使用。webpack支持各种各样的模块类型,包括CommonJS、AMD、ES6等,还可以通过loader和plugin扩展其功能。 演示如下: 1.在Vue项目中引入element-ui组件库 ```javascript // 引入element-ui样式文件 import 'element-ui/lib/theme-chalk/index.css'; // 引入element-ui组件库 import ElementUI from 'element-ui'; // 使用element-ui组件库 Vue.use(ElementUI); ``` 2.在webpack.config.js中配置file_loader ```javascript module.exports = { module: { rules: [ { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'file-loader', options: { name: utils.assetsPath('img/[name].[hash:7].[ext]') } } ] } } ``` 3.在build->webpack.dev.conf.js中将usePostCSS改为false ```javascript module.exports = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: false }) } }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值