選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

pageVars.js 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const fs = require('fs');
  2. const glob = require("glob");
  3. const pathVars = require("./pathVars");
  4. function getPages() {
  5. let files = glob.sync(pathVars.srcPath + "/pages/*/index.html");
  6. //let files = glob.sync(pathVars.srcPath + "/pages/light/index.html");
  7. //console.log(files);
  8. let pageAry = [];
  9. files.forEach((filePath) => {
  10. //将单个文件路径(/src/pages/news/detail/index.html)路径拆分成数组
  11. let tempAry = filePath.split('/');
  12. let chunkName = tempAry[tempAry.length - 2];
  13. //let htmlName = chunkName + "/index.html";
  14. let htmlName = chunkName + ".html";
  15. let entryJs = pathVars.pagesPath + "/" + chunkName + "/index.js";
  16. let obj = {};
  17. obj["filePath"] = filePath;
  18. obj["chunkName"] = chunkName;
  19. obj["htmlName"] = htmlName;
  20. obj["entryJs"] = entryJs;
  21. pageAry.push(obj);
  22. });
  23. return pageAry;
  24. }
  25. function getCharts(){
  26. let files = glob.sync(pathVars.srcPath + "/charts/chart*/Chart*.js");
  27. let chartsAry=[];
  28. files.forEach((filePath) => {
  29. let tempAry = filePath.split('/');
  30. let chunkName = tempAry[tempAry.length - 2];
  31. let obj = {};
  32. obj["chunkName"] = chunkName;
  33. obj["entryJs"] = filePath;
  34. chartsAry.push(obj);
  35. });
  36. return chartsAry;
  37. }
  38. function getChartsTest() {
  39. let template = pathVars.chartsTestPath + "/template.html"
  40. let files = glob.sync(pathVars.srcPath + "/charts_test/chart*/index.js");
  41. let chartsAry = [];
  42. files.forEach((filePath) => {
  43. let tempAry = filePath.split('/');
  44. let chunkName = tempAry[tempAry.length - 2];
  45. //目录下有index.html时,使用index.html作为html模版页,没有时使用template.html作为html模版页
  46. let htmlPath = pathVars.srcPath + "/charts_test/" + chunkName + "/index.html";
  47. try {
  48. fs.statSync(htmlPath).isFile();
  49. } catch (e) {
  50. htmlPath = template;
  51. }
  52. let obj = {};
  53. obj["chunkName"] = chunkName;
  54. obj["entryJs"] = filePath;
  55. obj["htmlName"] = chunkName + ".html";
  56. obj["htmlPath"] = htmlPath;
  57. chartsAry.push(obj);
  58. });
  59. return chartsAry;
  60. }
  61. module.exports = {
  62. getPages,
  63. getCharts,
  64. getChartsTest
  65. };