You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

26 lines
725 B

  1. // vite-plugin-copy-dirs.js
  2. const fs = require('fs-extra');
  3. const path = require('path');
  4. /**
  5. * 文件拷贝
  6. * @param {*} dirs
  7. */
  8. function copyDirsPlugin(dirs) {
  9. dirs.forEach(dir => {
  10. const src = path.resolve(__dirname, dir.src);
  11. const dest = path.resolve(__dirname, dir.dest || 'dist', path.basename(dir.src));
  12. // 确保目标目录存在
  13. fs.ensureDirSync(dest);
  14. // 复制文件
  15. fs.copySync(src, dest, {
  16. dereference: true, // 复制符号链接的内容
  17. overwrite: true, // 覆盖已存在的文件
  18. });
  19. });
  20. }
  21. copyDirsPlugin([
  22. { src: 'src/static', dest: 'dist' },
  23. { src: 'static', dest: 'dist' }, // 默认复制到dist/static2
  24. ])