Vite 按需引入 Vant 样式差异:为什么标签组件能显示样式,而 JavaScript 表达式组件却不能?

vite 按需引入 vant 样式差异:为什么标签组件能显示样式,而 javascript 表达式组件却不能?

vite 按需引入 vant 时样式差异的原因

当按需引入 vant 时,你会发现标签组件可以正常显示样式,但 javascript 表达式的组件却无法显示样式。这是因为:

原因:

vite 默认按需加载组件的 javascript 文件,但不加载其样式文件。标签组件可以通过模板被直接渲染,因此可以加载样式。而 javascript 表达式的组件则需要额外的步骤来加载样式。

解决方案:

有两种解决方法:

方法 1:使用 unplugin-auto-import 插件和全局注册

  • 安装 unplugin-auto-import 插件。
  • 在 vite 配置文件中启用该插件。
  • 去掉 sfc 中手动导入的 vant 组件。
  • 单独全局注册这些函数形式的组件,并手动导入它们的样式:
import { toast } from 'vant';
import { imagepreview } from 'vant';
import 'vant/es/toast/style';
import 'vant/es/image-preview/style';

app.use(toast);
app.use(imagepreview);

方法 2:引入组件样式文件

  • 手动导入 javascript 表达式组件的样式文件,例如:
import 'vant/es/cell/style';
import 'vant/es/cell-group/style';

以上就是Vite 按需引入 Vant 样式差异:为什么标签组件能显示样式,而 JavaScript 表达式组件却不能?的详细内容,更多请关注硕下网其它相关文章!