Ant Design Vue vite
1、安装ant-design-vue插件
npm i --save ant-design-vue
npm i unplugin-vue-components -D
2、配置vite.config.js
import Components from 'unplugin-vue-components/vite'
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
plugins: [
...
Components({
resolvers: [AntDesignVueResolver()]
})
]
})
3.当组件的主题色不满足我们的需求时,可以自定义主题色
export default {
plugins: [
... ...
Components({
resolvers: [
AntDesignVueResolver({
importStyle: 'less',
})
],
}),
],
css: {
preprocessorOptions: {
less: {
modifyVars: {
'primary-color': '#1da57a',
......
},
javascriptEnabled: true,
},
},
},
};
还可以新建一个样式文件,在里面放入如下代码:
@import "ant-design-vue/dist/antd.less";
@primary-color: #10d1de;
@link-color: #10d1de;
@success-color: #52c41a;
@warning-color: #faad14;
@error-color: #f5222d;
@font-size-base: 14px;
@heading-color: rgba(0, 0, 0, 0.85);
@text-color: rgba(0, 0, 0, 0.65);
@text-color-secondary: rgba(0, 0, 0, 0.45);
@disabled-color: rgba(0, 0, 0, 0.25);
@border-radius-base: 4px;
@border-color-base: #d9d9d9;
@box-shadow-base: 0 2px 8px rgba(0, 0, 0, 0.15);
然后引入到main.ts中,需要修改vite.config.ts中的代码:
export default {
plugins: [
... ...
Components({
resolvers: [
AntDesignVueResolver({
importStyle: false,
})
],
}),
],
css: {
preprocessorOptions: {
less: {
modifyVars: {},
javascriptEnabled: true,
},
},
},
};
4、unplugin-vue-components插件无法处理非组件模块,如 message、Modal、notification、Icon等,这种组件需要手动加载
import { createApp } from 'vue';
import App from './App';
const app = createApp(App);
import { Modal, message } from 'ant-design-vue';
import 'ant-design-vue/es/message/style/css';
import 'ant-design-vue/es/modal/style/css';
app.config.globalProperties.$Modal = Modal;
app.config.globalProperties.$message = message;
TS 等全局样式更改参考
5、引入 icon
无需安装插件
src/antd/icons.js
import { createVNode } from 'vue'
import * as $Icon from '@ant-design/icons-vue'
export const Icon = props => {
const { icon } = props
return createVNode($Icon[icon])
}