rollup-plugin-copy 中文文档

rollup-plugin-copy是用于打包构建的插件,它可以将指定文件或目录从源位置复制到目标位置。用户可以通过安装并配置该插件,在Vite或Rollup设置中定义多个targets来复制不同路径的文件。此插件支持glob模式匹配,并允许自定义重命名和转换文件内容。此外,还可以设置verbose输出详细日志,选择不同的生命周期钩子执行复制操作,以及在watch模式下仅复制一次。
摘要由CSDN通过智能技术生成

rollup-plugin-copy 是一个用于打包构建工具的插件,用于将指定的文件或目录从一个位置复制到另一个位置,支持glob。

安装

# yarn
yarn add rollup-plugin-copy -D
or
# npm
npm install rollup-plugin-copy -D
or
cnpm install rollup-plugin-copy -D

使用

// vite.config.js
import vue from '@vitejs/plugin-vue'
import copy from 'rollup-plugin-copy'
export default {
	//...
	plugins: [
	   vue(),
	   // copy({Object})
	   copy({
	     targets: [
	       { src: 'src/index.html', dest: 'dist/public' },
	       { src: ['assets/fonts/arial.woff', 'assets/fonts/arial.woff2'], dest: 'dist/public/fonts' },
	       { src: 'assets/images/**/*', dest: 'dist/public/images' }
	     ]
	   })
	 ]
}

配置(Object)

  • targets
    Type: Array | Default: [Object]
    将文件复制到的目标位置。可以是一个字符串或字符串数组,也可以是一个包含 src 和 dest 属性的对象数组
    Object:
    Object.src (string): 要复制内容的路径
    Object.dest (string): 要复制到的目标路径
    Object.rename (string Function): 更改目标文件或文件夹的名称
    Object.transform (Function): 修改文件内容
    示例:
copy({
  targets: [{
    src: 'src/index.html',
    dest: 'dist/public',
    rename: (name, extension, fullPath) => `${name}-v1.${extension}`
    transform: (contents, filename) => contents.toString().replace('__SCRIPT__', 'app.js')
  }]
})
  • verbose
    是否在控制台输出详细的日志信息
    Type: boolean | Default: false
    示例:
copy({
  targets: [{ src: 'assets/*', dest: 'dist/public' }],
  verbose: true
})
  • hook
    生命周期钩子,例如 buildStart、buildEnd、generateBundle、writeBundle 等。
    Type: string | Default: buildEnd
    示例:
copy({
  targets: [{ src: 'assets/*', dest: 'dist/public' }],
  hook: 'generateBundle' // npm run build 的时候执行copy
})
  • copyOnce
    复制项目一次。在 watch 模式下有用。
    Type: boolean | Default: false
    示例:
copy({
  targets: [{ src: 'assets/*', dest: 'dist/public' }],
  copyOnce: true
})
  • flatten
    是否删除复制文件的目录结构。
    Type: boolean | Default: true
    示例:
copy({
  targets: [{ src: 'assets/**/*', dest: 'dist/public' }],
  flatten: false
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值