replace_dist.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. 'use strict';
  2. const path = require('path');
  3. const fs = require('fs');
  4. const fsPro = require('fs-extra');
  5. console.log('[electron] [replace_dist] moving frontend asset to egg public dir');
  6. console.log('[electron] [replace_dist] start');
  7. // argv
  8. let distDir = '';
  9. for (let i = 0; i < process.argv.length; i++) {
  10. const tmpArgv = process.argv[i]
  11. if (tmpArgv.indexOf('--dist_dir=') !== -1) {
  12. distDir = tmpArgv.substr(11)
  13. }
  14. }
  15. const fileExist = (filePath) => {
  16. try {
  17. return fs.statSync(filePath).isFile();
  18. } catch (err) {
  19. return false;
  20. }
  21. };
  22. const sourceDir = path.normalize(distDir);
  23. const targetDir = path.normalize('./app/public');
  24. const sourceIndexFile = path.normalize(sourceDir + '/index.html');
  25. const targetIndexFile = path.normalize( './app/view/index.ejs');
  26. if (!fileExist(sourceIndexFile)) {
  27. console.log('[electron] [replace_dist] ERROR source dir is empty!!!');
  28. return
  29. }
  30. console.log('[electron] [replace_dist] delete target dir:', targetDir);
  31. fs.rmdirSync(targetDir, {recursive: true});
  32. console.log('[electron] [replace_dist] copy :', sourceDir);
  33. fsPro.copySync(sourceDir, targetDir);
  34. // replace ejs
  35. fsPro.copySync(sourceIndexFile, targetIndexFile);
  36. console.log('[electron] [replace_dist] replace index.ejs');
  37. console.log('[electron] [replace_dist] end');