Skip to content

按需引入组件库组件 style 文件自动引入

新项目伊始,我想尝试尽量少的依赖组件库,尝试自己去封装项目中用到的组件,但有些复杂的组件还是得依赖成熟的组件库。

只是少量的使用几个组件,我不想全局引入完整组件库,鉴于后续维护,我也不想使用 vite 插件自动引入组件,但是这样的话每次使用组件需要单独引入 css 文件,下面来使用 vite-plugin-style-import 配置 style 文件自动引入。

安装

这里安装的是 2.0.0 版本,使用的组件库是字节的 ArcoDesign

npm i vite-plugin-style-import

配置 vite.config.js

js
import { createStyleImportPlugin } from "vite-plugin-style-import";

export default defineConfig({
  plugins: [
    createStyleImportPlugin({
      libs: [
        {
          // 这里会匹配组件库包名
          libraryName: "@arco-design/web-vue",
          esModule: true,
          resolveStyle: (name) =>
            // 此处路径需根据不同的组件库灵活修改
            `@arco-design/web-vue/es/${name}/style/css.js`,
        },
      ],
    }),
  ],
});

使用

正常流程结束之后,引入组件

html
<template>
  <button />
</template>

<script setup>
  import { Button } from "@arco-design/web-vue";
</script>

报错及处理

运行项目,会报错如下:

Error: Cannot find module 'consola'

意思是找不到 consola 这个包,这是 vite-plugin-style-import 这个插件的 bug,后续版本应该会修复,此处可以手动安装 consola

npm i consola -D

再启动就正常运行了。

Release time: 4/20/2022, 3:17:00

Last updated:

⟣ Growing, with you. ⟢