Custom namespace 2.2.0
TIP
We provide a example in element-plus-vite-starter. Just check it.
Default namespace is el
. In special cases, we may need to customize its namespace.
Since we use sass to write styles, if you want to customize all namespaces. We have to assume that you already use sass.
You must set ElConfigProvider
and scss $namespace
at the same time.
Set ElConfigProvider
Use ElConfigProvider
wrap your root component.
<!-- App.vue -->
<template>
<el-config-provider namespace="ep">
<!-- ... -->
</el-config-provider>
</template>
Set Scss & Css Vars
Create styles/element/index.scss
:
// styles/element/index.scss
// we can add this to custom namespace, default is 'el'
@forward 'element-plus/theme-chalk/src/mixins/config.scss' with (
$namespace: 'ep'
);
// ...
Import styles/element/index.scss
in vite.config.ts
:
The same is true for webpack, which needs to be set in
preprocessorOptions
.
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
// ...
css: {
preprocessorOptions: {
scss: {
additionalData: `@use "~/styles/element/index.scss" as *;`,
},
},
},
// ...
})
That's all.