copyContent.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. const fs = require('fs');
  2. const path = require('path');
  3. // 排除的文件(工具脚本,不需要发布)
  4. const excludeFiles = ['order.js', 'makeLn.js', 'rename.py'];
  5. function copyDirectory(src, dest) {
  6. // 确保目标目录存在
  7. if (!fs.existsSync(dest)) {
  8. fs.mkdirSync(dest, { recursive: true });
  9. }
  10. // 读取源目录内容
  11. const items = fs.readdirSync(src);
  12. items.forEach(item => {
  13. // 跳过排除的文件
  14. if (excludeFiles.includes(item)) {
  15. return;
  16. }
  17. const srcPath = path.join(src, item);
  18. const destPath = path.join(dest, item);
  19. const stat = fs.statSync(srcPath);
  20. if (stat.isDirectory()) {
  21. // 递归复制子目录
  22. copyDirectory(srcPath, destPath);
  23. } else {
  24. // 复制文件
  25. fs.copyFileSync(srcPath, destPath);
  26. }
  27. });
  28. }
  29. // 获取项目根目录(从 packages/semi-ui/scripts 向上两级)
  30. const projectRoot = path.resolve(__dirname, '../../..');
  31. const contentSrc = path.join(projectRoot, 'content');
  32. const contentDest = path.join(__dirname, '..', 'content');
  33. // 如果 content 目录存在,则复制
  34. if (fs.existsSync(contentSrc)) {
  35. console.log('正在复制 content 目录...');
  36. copyDirectory(contentSrc, contentDest);
  37. console.log('content 目录复制完成');
  38. } else {
  39. console.warn(`警告: 未找到 content 目录: ${contentSrc}`);
  40. }