1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > element ui 引入css element-ui引入方式 自定义主题

element ui 引入css element-ui引入方式 自定义主题

时间:2022-04-01 17:21:49

相关推荐

element ui 引入css element-ui引入方式 自定义主题

1. element-ui组件引入方式:

1)完整引入

在 main.js 中写入以下内容:

import Vue from 'vue';

import ElementUI from 'element-ui';

import 'element-ui/lib/theme-chalk/index.css';//引入全部的样式

Vue.use(ElementUI);

2)按需引入 借助插件,无需再引入'element-ui/lib/theme-chalk/index.css'文件

借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

首先,安装 babel-plugin-component:

npm install babel-plugin-component -D

然后,将 .babelrc 修改为:

"presets": [["es", { "modules": false }]],

"plugins": [

[

"component",

{

"libraryName": "element-ui",

"styleLibraryName": "theme-chalk"

}

]

]

}

接下来,如果你只希望引入部分组件,比如 Button 和 Select,那么需要在 main.js 中写入以下内容:

import { Button, Select } from 'element-ui';

ponent(Button.name, Button);

ponent(Select.name, Select);

2.自定义主题 前三种方式不支持按需引入样式,第四种配合插件可以按需引入

1)主题编辑器, 使用在线主题编辑器,定制 Element 所有全局和组件的 Design Tokens,下载使用

2)仅替换主题色 ,使用在线主题生成工具 ,下载使用

3)只在项目中改变 SCSS 变量

新建一个样式文件,例如element-variables.scss,写入以下内容:

/* 改变主题色变量 */

$--color-primary: teal;

/* 改变 icon 字体路径变量,必需 */

$--font-path: '~element-ui/lib/theme-chalk/fonts';

@import "~element-ui/packages/theme-chalk/src/index"; //包含全部的样式scss文件

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

import Vue from 'vue'

import Element from 'element-ui'

import './element-variables.scss'

Vue.use(Element)

4)命令行主题工具

1.安装工具:

npm i element-theme -g

npm i element-theme-chalk -D //安装白垩主题

2.初始化变量文件

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

et -i

✔ Generator variables file

3.修改变量

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

$--color-primary: red;

4. 编译主题 默认编译的主题输出到 ./theme 目录下

ps: 注意不要手动修改./theme下的*.css文件样式,因为et命令编译输出会覆盖

可以再package.json script字段增加命令:"build_theme": "node_modules/.bin/et -o ./themes"

运行:npm run build_theme

如果以上工具全局安装了,运行:

et

> ✔ build theme font

> ✔ build element theme

5. 使用自定义主题

完整引入样式:

在main.js里直接引用「在线主题编辑器」或「命令行工具」生成的主题的 theme/index.css文件即可。

import '../theme/index.css'

import ElementUI from 'element-ui'

import Vue from 'vue'

Vue.use(ElementUI)

搭配插件按需引入组件主题

如果是搭配 babel-plugin-component 一起使用,只需要修改 .babelrc 的配置,指定 styleLibraryName 路径为自定义主题相对于 .babelrc 的路径,注意要加 ~。(无需再在main.js引入theme/index.css文件)

{

"plugins": [

[

"component",

{

"libraryName": "element-ui",

"styleLibraryName": "~theme"

}

]

]

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。