import{c as t,o as s,A as o}from"./vendor.80bf15c7.js";const n={class:"markdown-body"},u=o('
定制主题须使用 NutUI 2.0 以上版本
NutUI 默认提供一套 UI 主题,同时允许在一定程度上定制新的主题,以满足业务的多样化视觉需求。

NutUI 的样式是基于 SCSS 开发的,定义了一套默认样式变量,定制主题就是编辑这个变量列表。
以下是一些与颜色相关基本样式变量,所有可用的变量请参考配置文件。
$primary-color: #F0250F;\n$normal-color: #848484;\n$link-color: $primary-color;\n$link-hover-color: mix($link-color , #000, 80%);\n$title-color: #2D2D2D;\n$text-color: #848484;\n$light-color: #F6F6F6;\n$dark-color: #DADADA;\n在本地项目中新建一个 SCSS 文件,包含上述变量,自定义变量值。
修改 webpack 配置文件中 sass-loader 的配置。在 options 的 data 属性值中,先后 import 你自定义的 SCSS 文件(如 custom.scss)和 NutUI 的样式变量配置文件(路径为 dist/styles/variable.scss)。
{\n test: /\\.(sa|sc)ss$/,\n use: [\n {\n loader: 'sass-loader',\n options: {\n data: `@import "./asset/css/custom.scss"; @import "@nutui/nutui/dist/styles/index.scss"; `,\n }\n }\n ]\n}\n如果你的项目使用的是VueCLI 3以上版本 请修改 vue.config.js 进行配置
module.exports = {\n css: {\n loaderOptions: {\n // 给 sass-loader 传递选项\n scss: {\n // @/ 是 src/ 的别名\n // 注意:在 sass-loader v7 中,这个选项名是 "data"\n prependData: ` \n @import "@/assets/custom_theme.scss";\n @import "@nutui/nutui/dist/styles/index.scss";\n `,\n }\n },\n }\n}\n在主题定制场景下,项目中引用组件时,需要引入 SCSS 文件,而不是 CSS 文件。分三种情况:
1.引用完整组件库时,需要引入 nutui.scss 文件
import NutUI from '@nutui/nutui';\nimport '@nutui/nutui/dist/nutui.scss';\n2.未使用插件,手动按需引用组件时,需手动引入组件对应的 SCSS 文件。
import Button from '@nutui/nutui/dist/packages/button/button.js';\nimport '@nutui/nutui/dist/packages/button/button.scss';\n3.使用了插件 @nutui/babel-plugin-separate-import 进行按需引用时,需修改babel的配置文件(如.babelrc),将 style 的设置为 scss。该插件将会自动引入指定组件对应的 SCSS 文件。
{\n "plugins": [\n ["@nutui/babel-plugin-separate-import", {\n "libraryName": "@nutui/nutui",\n "libraryDirectory": "dist/packages",\n "style": "scss"\n }]\n ]\n}\n',25),e={expose:[],setup:o=>(o,e)=>(s(),t("div",n,[u]))};export default e;VueCLI 3 相关Demo 请查看 NutUI Demo