Skip to content

copyFile

在 Vite 构建完成后复制文件或目录到指定位置。

快速开始

typescript
import { defineConfig } from 'vite'
import { copyFile } from '@meng-xi/vite-plugin'

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

配置选项

选项类型默认值说明
sourceDirstring必填源目录路径
targetDirstring必填目标目录路径
overwritebooleantrue覆盖已存在的文件
recursivebooleantrue递归复制子目录
incrementalbooleantrue仅复制修改过的文件
enabledbooleantrue启用插件
verbosebooleantrue显示详细日志
errorStrategy'throw' | 'log' | 'ignore''throw'错误处理策略

示例

禁用递归和增量复制

typescript
copyFile({
	sourceDir: 'src/static',
	targetDir: 'dist/static',
	recursive: false,
	incremental: false
})

仅生产环境启用

typescript
copyFile({
	sourceDir: 'src/assets',
	targetDir: 'dist/assets',
	enabled: process.env.NODE_ENV === 'production'
})

记录错误但不中断构建

typescript
copyFile({
	sourceDir: 'src/assets',
	targetDir: 'dist/assets',
	errorStrategy: 'log'
})

注意事项

  • 使用 enforce: 'post' 确保在其他构建任务完成后执行
  • 源目录必须存在,目标目录会自动创建
  • incremental: true 时仅复制修改时间更新的文件

Released under the MIT License.