generate-themes.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. { file: 'jdb.scss', sourcePath: `@import '../variables-jdb.scss';` },
  28. { file: 'jddkh.scss', sourcePath: `@import '../variables-jddkh.scss';` }
  29. ];
  30. themes.forEach((item) => {
  31. fs.outputFile(
  32. path.resolve(__dirname, `../dist/styles/themes/${item.file}`),
  33. `${item.sourcePath}
  34. ${sassFileStr}`,
  35. 'utf8',
  36. (error) => {
  37. // logger.success(`文件写入成功`);
  38. }
  39. );
  40. });
  41. });