当前位置:   article > 正文

vue + element-ui 自定义主题,自定义主题切换_vue+elment 实现对一个页面的自定义修改

vue+elment 实现对一个页面的自定义修改

        项目中遇到的问题,记录一下,也提供给有需要的小伙伴一个选择 ,也是在网上东拼西凑的,希望能帮到有需要的人

1.首先基于vue框架,用的 element-ui

这个不必多说,我会在下面多说一些中间的坑~

2.element-ui 自定义主题下载,命令行主题工具,npm下载

小黑框(命令窗口,以下简称小黑框)执行

  1. npm i element-theme -g
  2. npm i element-theme-chalk -D

3.初始化变量文件

 小黑框执行

et -i element-variables.scss

成功后如下提示

> ✔ Generator variables file

执行成功后当前目录(我的是在根目录下)会有一个 element-variables.scss 文件。内部包含了主题所用到的所有变量,它们使用 SCSS 的格式定义。大致结构如下:

  1. // element-variables.scss 文件
  2. $--color-primary: #409EFF !default;
  3. $--color-primary-light-1: mix($--color-white, $--color-primary, 10%) !default; /* 53a8ff */
  4. $--color-primary-light-2: mix($--color-white, $--color-primary, 20%) !default; /* 66b1ff */
  5. $--color-primary-light-3: mix($--color-white, $--color-primary, 30%) !default; /* 79bbff */
  6. $--color-primary-light-4: mix($--color-white, $--color-primary, 40%) !default; /* 8cc5ff */
  7. $--color-primary-light-5: mix($--color-white, $--color-primary, 50%) !default; /* a0cfff */
  8. $--color-primary-light-6: mix($--color-white, $--color-primary, 60%) !default; /* b3d8ff */
  9. $--color-primary-light-7: mix($--color-white, $--color-primary, 70%) !default; /* c6e2ff */
  10. $--color-primary-light-8: mix($--color-white, $--color-primary, 80%) !default; /* d9ecff */
  11. $--color-primary-light-9: mix($--color-white, $--color-primary, 90%) !default; /* ecf5ff */
  12. $--color-success: #67c23a !default;
  13. $--color-warning: #e6a23c !default;
  14. $--color-danger: #f56c6c !default;
  15. $--color-info: #909399 !default;
  16. ...

嘿嘿~我就是在这坑就开始连绵不绝了~~~~执行 et 之后报错

原因:电脑防止执行不信任的脚本。说白了就是没这个权限

解决:win 键直接搜索 windows PowerShell,管理员身份运行

打开窗口后执行:

set-ExecutionPolicy RemoteSigned

会出现:

  1. 执行策略更改
  2. 执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
  3. 中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
  4. [Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“N”):

选 Y 然后回车,执行查看:

  1. // 查看是否成功
  2. get-ExecutionPolicy

会出现:

  1. // 成功后提示
  2. RemoteSigned

这时候再次到命令窗口执行 et ,问题解决

4.修改变量

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

  1. // element-variables.scss 文件
  2. $--color-primary: red;

5.编译主题

小黑框执行

et

成功后如下提示,根目录也会生成一个 theme 文件夹 (和 src 同层级)

  1. > ✔ build theme font
  2. > ✔ build element theme

6.引入自定义主题

main.js 中引入

import '../theme/index.css'

不需要之前的 element css样式了

  1. // 不需要引入这个了
  2. import 'element-ui/lib/theme-chalk/index.css';

到这里了,其实没有切换主题的话就已经大功告成了,下面开始切换主题的步骤

7.使用 gulp-css-wrap 插件

这个插件我也是第一次用,似懂非懂,接着肝~~~

小黑框执行:

  1. // 这有个坑,在后面才踩到,也可能有的小伙伴没有坑
  2. npm install gulp
  3. npm install gulp-clean-css
  4. npm install gulp-css-wrap

8.在项目根目录创建 gulpfile.js 的文件

如果创建不了文件(别问,我也挺懵,直接不给你创建这个文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/82191
推荐阅读