import{e as a,o as n,G as t}from"./vendor.js";const p={class:"markdown-body"},e=t(`

\u4E3B\u9898\u5B9A\u5236

NutUI \u9ED8\u8BA4\u63D0\u4F9B\u4E00\u5957 UI \u4E3B\u9898\uFF0C\u540C\u65F6\u5141\u8BB8\u5728\u4E00\u5B9A\u7A0B\u5EA6\u4E0A\u5B9A\u5236\u65B0\u7684\u4E3B\u9898\uFF0C\u4EE5\u6EE1\u8DB3\u4E1A\u52A1\u7684\u591A\u6837\u5316\u89C6\u89C9\u9700\u6C42\u3002


NutUI \u4E3B\u9898\u5B9A\u5236

\u6837\u5F0F\u53D8\u91CF

NutUI \u7684\u6837\u5F0F\u662F\u57FA\u4E8E Sass \u5F00\u53D1\u7684\uFF0C\u5B9A\u4E49\u4E86\u4E00\u5957\u9ED8\u8BA4\u6837\u5F0F\u53D8\u91CF\uFF0C\u5B9A\u5236\u4E3B\u9898\u5C31\u662F\u7F16\u8F91\u8FD9\u4E2A\u53D8\u91CF\u5217\u8868\u3002

\u73B0\u9636\u6BB5\u9700\u8981\u5F00\u53D1\u8005\u624B\u52A8\u914D\u7F6E\uFF0C\u53EF\u89C6\u5316\u751F\u6210\u914D\u7F6E\u76EE\u524D\u6B63\u5728\u5F00\u53D1\u4E2D\u3002

\u4EE5\u4E0B\u662F\u4E00\u4E9B\u4E0E\u989C\u8272\u76F8\u5173\u57FA\u672C\u6837\u5F0F\u53D8\u91CF\uFF0C\u6240\u6709\u53EF\u7528\u7684\u53D8\u91CF\u8BF7\u53C2\u8003\u914D\u7F6E\u6587\u4EF6 variables.scss\u3002

// \u4E3B\u8272\u8C03
$primary-color: #fa2c19;
$primary-color-end: #fa6419;
...

\u5728\u4E3B\u9898\u5B9A\u5236\u573A\u666F\u4E0B\uFF0C\u9879\u76EE\u4E2D\u5F15\u7528\u7EC4\u4EF6\u65F6\uFF0C\u9700\u8981\u5F15\u5165 scss \u6587\u4EF6\uFF0C\u800C\u4E0D\u662F css \u6587\u4EF6\u3002

\u9700\u8981\u5F15\u5165 nutui.scss \u6587\u4EF6

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

\u5B9A\u5236\u4E3B\u9898

\u7B2C\u4E00\u6B65\uFF1A\u65B0\u5EFA\u81EA\u5B9A\u4E49\u53D8\u91CF SCSS \u6587\u4EF6

\u5728\u672C\u5730\u9879\u76EE\u4E2D\u65B0\u5EFA\u4E00\u4E2A SCSS \u6587\u4EF6 custom_theme.scss\uFF0C\u81EA\u5B9A\u4E49\u53D8\u91CF\u503C\u3002

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

\u7B2C\u4E8C\u6B65\uFF1A\u4FEE\u6539\u672C\u5730\u9879\u76EE webpack \u6216\u8005 vite \u7684\u914D\u7F6E\u6587\u4EF6

\u4FEE\u6539 vite \u6216\u8005 webpack \u914D\u7F6E\u6587\u4EF6\u4E2D sass-loader \u7684\u914D\u7F6E\u3002\u5982\u4E0B\u793A\u4F8B

vite \u6F14\u793A

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

vue/cli 2\u7248\u672C

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

vue/cli 3 \u4EE5\u4E0A\u7248\u672C\u4FEE\u6539 vue.config.js \u8FDB\u884C\u914D\u7F6E

module.exports = {
    css: {
        loaderOptions: {
            // \u7ED9 sass-loader \u4F20\u9012\u9009\u9879
            scss: {
                // @/ \u662F src/ \u7684\u522B\u540D
                // \u6CE8\u610F\uFF1A\u5728 sass-loader v7 \u4E2D\uFF0C\u8FD9\u4E2A\u9009\u9879\u540D\u662F "data"
                prependData: \`@import "@/assets/custom_theme.scss";\`,
            }
        },
    }
}

@nutui/nutui \u591A\u79CD\u6A21\u5F0F\uFF08vite \u3001vue/cli\u3001cdn\u3001ts\uFF09\u4F7F\u7528\u793A\u4F8B Demo

`,25),c=[e],u={setup(l,{expose:s}){return s({frontmatter:{}}),(r,h)=>(n(),a("div",p,c))}};export{u as default};