rollup-plugin-copy 中文文档

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
})

你可能感兴趣的:(Vue3,插件,javascript,框架,Rollup,打包)