自定义命名空间

TIP

示例见 uniboot-ui-vite-starter,可直接查阅。

默认命名空间为 u。在特殊场景下可能需要自定义。

样式基于 Sass 编写;若要完整自定义命名空间,需已使用 Sass。

必须同时设置 UConfigProvider 与 Scss 中的 $namespace

设置 UConfigProvider

UConfigProvider 包裹根组件。

App.vue
vue
<template>
  <u-config-provider namespace="ep">
    <!-- ... -->
  </u-config-provider>
</template>

设置 Scss 与 CSS 变量

新建 styles/element/index.scss

styles/element/index.scss
scss
// 自定义命名空间,默认为 'u'
@forward 'uniboot-ui/theme-chalk/src/mixins/config.scss' with (
  $namespace: 'ep'
);
// ...

vite.config.ts 中引入 styles/element/index.scss

Webpack 同理,需在 preprocessorOptions 中配置。

vite.config.ts
ts
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
  // ...
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@use "~/styles/element/index.scss" as *;`,
      },
    },
  },
  // ...
})

完成以上步骤即可。