generate-themes.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const config = require('../src/config.json');
  2. const path = require('path');
  3. const fs = require('fs-extra');
  4. let sassFileStr = ``;
  5. let tasks = [];
  6. config.nav.map((item) => {
  7. item.packages.forEach((element) => {
  8. let folderName = element.name.toLowerCase();
  9. tasks.push(
  10. fs
  11. .copy(
  12. path.resolve(__dirname, `../src/packages/__VUE/${folderName}/index.scss`),
  13. path.resolve(__dirname, `../dist/packages/${folderName}/index.scss`)
  14. )
  15. .then((success) => {
  16. sassFileStr += `@import '../../packages/${folderName}/index.scss';\n`;
  17. })
  18. .catch((error) => {})
  19. );
  20. });
  21. });
  22. tasks.push(fs.copy(path.resolve(__dirname, '../src/packages/styles'), path.resolve(__dirname, '../dist/styles')));
  23. Promise.all(tasks).then((res) => {
  24. let themes = [
  25. { file: 'default.scss', sourcePath: `@import '../variables.scss';` },
  26. { file: 'jdt.scss', sourcePath: `@import '../variables-jdt.scss';` }
  27. ];
  28. themes.forEach((item) => {
  29. fs.outputFile(
  30. path.resolve(__dirname, `../dist/styles/themes/${item.file}`),
  31. `${item.sourcePath}
  32. ${sassFileStr}`,
  33. 'utf8',
  34. (error) => {
  35. // logger.success(`文件写入成功`);
  36. }
  37. );
  38. });
  39. });