@meng-xi/vite-plugin

项目简介

@meng-xi/vite-plugin 是一个为 Vite 构建工具提供的实用插件库,旨在简化前端项目的构建流程和增强开发体验。该插件库提供了一系列功能强大、配置灵活的插件,帮助开发者更高效地管理项目资源和优化构建过程。

项目地址

github地址
npm包地址

核心功能

1. copyFile 插件

功能描述:在 Vite 构建完成后,将指定源目录的文件复制到目标目录。

主要特性

  • 支持增量复制,只复制修改过的文件
  • 支持递归复制整个目录结构
  • 可配置是否覆盖已存在的文件
  • 详细的日志输出,便于追踪复制状态
  • 完善的错误处理机制

使用场景

  • 复制静态资源文件到构建输出目录
  • 复制配置文件到特定位置
  • 在构建过程中同步文件到其他目录

2. injectIco 插件

功能描述:在 Vite 构建过程中,将图标文件的链接注入到 HTML 文件的 <head> 标签中。

主要特性

  • 支持自定义图标链接和属性
  • 支持配置多个图标文件
  • 可选的图标文件复制功能
  • 智能检测并避免重复注入
  • 支持简洁的字符串配置形式

使用场景

  • 为网站添加 favicon 图标
  • 配置不同尺寸和格式的图标
  • 自动管理图标文件的部署

技术特点

  • TypeScript 编写:提供完整的类型定义,支持智能代码提示
  • 模块化设计:插件之间相互独立,可按需引入
  • 配置灵活:支持详细的配置选项,满足不同场景需求
  • 易于使用:提供简洁的 API 接口,集成成本低
  • 性能优化:支持增量复制,减少不必要的文件操作
  • 完善的错误处理:提供清晰的错误信息和日志输出
  • 与 Vite 5.0+ 兼容:充分利用 Vite 的最新特性

快速开始

安装

npm install @meng-xi/vite-plugin --save-dev
# 或
yarn add @meng-xi/vite-plugin --dev

基本使用

copyFile 插件

// vite.config.ts
import { defineConfig } from 'vite'
import { copyFile } from '@meng-xi/vite-plugin'

export default defineConfig({
  plugins: [
    copyFile({
      sourceDir: 'src/assets',
      targetDir: 'dist/assets'
    })
  ]
})

injectIco 插件

// vite.config.ts
import { defineConfig } from 'vite'
import { injectIco } from '@meng-xi/vite-plugin'

export default defineConfig({
  plugins: [
    injectIco({
      base: '/assets',
      icons: [
        { rel: 'icon', href: '/favicon.svg', type: 'image/svg+xml' },
        { rel: 'icon', href: '/favicon-32x32.png', sizes: '32x32', type: 'image/png' }
      ],
      copyOptions: {
        sourceDir: 'src/assets/icons',
        targetDir: 'dist/assets/icons'
      }
    })
  ]
})

配置选项

copyFile 插件配置

选项 类型 必填 默认值 描述
sourceDir string - 源目录路径
targetDir string - 目标目录路径
overwrite boolean true 是否覆盖已存在的文件
recursive boolean true 是否递归复制子目录
incremental boolean true 是否启用增量复制
enabled boolean true 是否启用插件
verbose boolean false 是否启用详细日志
errorStrategy 'throw' | 'warn' 'throw' 错误处理策略

injectIco 插件配置

选项 类型 必填 默认值 描述
base string '/' 图标路径的基础 URL
url string - 单个图标 URL(如果提供,将覆盖 icons 配置)
link string - 单个图标链接标签(如果提供,将直接使用)
icons Array<IconOption> - 图标配置数组
enabled boolean true 是否启用插件
copyOptions CopyOptions - 图标文件复制选项
verbose boolean false 是否启用详细日志
errorStrategy 'throw' | 'warn' 'throw' 错误处理策略

总结

@meng-xi/vite-plugin 是一个轻量级但功能强大的 Vite 插件库,为前端项目的构建过程提供了实用的工具。通过 copyFile 和 injectIco 插件,开发者可以更方便地管理静态资源和图标,减少手动操作,提高构建效率。

该插件库具有良好的可扩展性和可维护性,代码结构清晰,类型定义完整,是 Vite 项目的理想选择。

许可证

MIT License

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容