问题描述
按需引入element组件时,需要单独引入该组件的样式文件。
因为已使用unplugin-vue-components插件,只在使用不需写到template上的组件时,才需要单独引入组件样式文件。如ElMessageBox、ElMessage、ElLoading。
// xxx.vueimport { ElMessageBox } from 'element-plus';await ElMessageBox.confirm('是否离开当前页面?', {confirmButtonText: '确定',cancelButtonText: '取消',});// main.tsimport 'element-plus/theme-chalk/src/message-box.scss';
解决方案
安装
npm i unplugin-element-plus -D
配置: ```javascript // vite.config.ts … import ElementPlus from ‘unplugin-element-plus/vite’; …
export default defineConfig({ plugins: [ … ElementPlus({ / 默认为false,转换后路径为:import ‘element-plus/es/components/xxx/style/css’, 该路径会影响覆盖element样式变量 设置为true后,路径改为:import ‘element-plus/es/components/xxx/style/index’ / useSource: true, }), ], … }); ```
注意
- 若node版本较低(如14.17.3),会出现以下报错。需使用较新node版本(如16.13.1)

参考链接:https://github.com/element-plus/unplugin-element-plus#readme

