import{c as s,o as t,C as e}from"./vendor.00965e04.js";const o={class:"markdown-body"},n=e('

主题定制

NutUI 默认提供一套 UI 主题,同时允许在一定程度上定制新的主题,以满足业务的多样化视觉需求。


NutUI 主题定制

样式变量

NutUI 的样式是基于 SCSS 开发的,定义了一套默认样式变量,定制主题就是编辑这个变量列表。

现阶段需要开发者手动配置,可视化生成配置目前正在开发中。

以下是一些与颜色相关基本样式变量,所有可用的变量请参考配置文件 variables.scss

// 主色调\n$primary-color: #fa2c19;\n$primary-color-end: #fa6419;\n...\n

在主题定制场景下,项目中引用组件时,需要引入 SCSS 文件,而不是 CSS 文件。

需要引入 nutui.scss 文件

import NutUI from '@nutui/nutui';\nimport "@nutui/nutui/dist/styles/themes/default.scss";\n

定制主题

第一步:新建自定义变量 SCSS 文件

在本地项目中新建一个 SCSS 文件 custom_theme.scss,自定义变量值。

$primary-color: #478EF2;\n$primary-color-end: #496AF2;\n

第二步:修改本地项目 webpack 或者 vite 的配置文件

修改 vite 或者 webpack 配置文件中 sass-loader 的配置。如下示例

vite 演示

// https://vitejs.dev/config/\nexport default defineConfig({\n  //...\n  css: {\n    preprocessorOptions: {\n      scss: {\n        additionalData: `@import "./assets/custom_theme.scss";`\n      }\n    }\n  }\n})\n

vue/cli 2版本

{\n    test: /\\.(sa|sc)ss$/,\n    use: [\n        {\n            loader: 'sass-loader',\n            options: {\n                data: `@import "./assets/custom_theme.scss";`,\n            }\n        }\n    ]\n}\n

vue/cli 3 以上版本修改 vue.config.js 进行配置

module.exports = {\n    css: {\n        loaderOptions: {\n            // 给 sass-loader 传递选项\n            scss: {\n                // @/ 是 src/ 的别名\n                // 注意:在 sass-loader v7 中,这个选项名是 "data"\n                prependData: `@import "@/assets/custom_theme.scss";`,\n            }\n        },\n    }\n}\n

@nutui/nutui 多种模式(vite 、vue/cli、cdn、ts)使用示例 Demo

',25),a={setup:e=>(e,a)=>(t(),s("div",o,[n]))};export default a;