Skip to content

Vite插件 用于构建后复制构建产物到指定目录

License

Notifications You must be signed in to change notification settings

yuuuuuyu/vite-plugin-copyto

Repository files navigation

Introduce

用于构建后复制构建产物到指定目录的vite插件。

Features

  • 支持指定多个目录
  • 支持在构建前执行自定义操作
  • 支持在构建结束执行自定义操作

Install

pnpm install vite-plugin-copyto -D

Usage

import { defineConfig } from 'vite'
import VitePluginCopyto from 'vite-plugin-copyto'

export default defineConfig({
  plugins: [
    VitePluginCopyto({
        root: resolve(__dirname),
        base: 'dist',
        source: ['es', 'lib', 'types'],
        dest: '../beeboat-plus',
    }),
  ]
})

Options

export type PluginOptions = {
  source: string | string[]
  dest: string
  base?: string
  root?: string
  hooks?: {
    buildStart?: () => void | Promise<void>
    closeBundle?: () => void | Promise<void>
  }
}

root

非必须字段,指定插件运行时的根目录,默认为vite.config.js所在目录。获取了根目录文件夹名称,复制到指定目录时,会保留文件夹名称。

base

非必须字段,默认值dist,如果项目内自定义了构建的输出目录,比如指定了outDir,那么需要指定base字段。

source

基于base目录,复制base下的文件夹到dest目录。也可以复制指定文件到dest目录

注意:目前不支持通配符复制。

dest

指定复制到的目标目录。

hooks

自定义的钩子函数,在指定事件触发时执行。

目前支持的钩子函数:

  • buildStart
  • closeBundle

Example

import { basename } from "path"
export default defineConfig({
  plugins: [
    VitePluginCopyto({
        root: basename(__dirname), // or '../xxxxx'
        base: 'dist',
        source: ['es', 'lib', 'types'], // or 'es'
        dest: '../beeboat-plus',
    }),
  ]
})

About

Vite插件 用于构建后复制构建产物到指定目录

Resources

License

Stars

Watchers

Forks

Packages

No packages published