build_min.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const Uglyfy = require('uglify-es');
  10. const fs = require('fs');
  11. const JsFiles = require('./config/web');
  12. const version = require('./config/config.default')({ baseDir: __dirname + '/app', root: __dirname, name: 'calc' }).version;
  13. console.log(version);
  14. const savePath = __dirname + '/app' + JsFiles.webPath;
  15. if (!fs.existsSync(savePath)) fs.mkdirSync(savePath);
  16. for (const c in JsFiles.controller) {
  17. const controller = JsFiles.controller[c];
  18. for (const a in controller) {
  19. const action = controller[a];
  20. if (action.mergeFiles && action.mergeFile.length > 0) {
  21. const minFileName = savePath + action.mergeFile + '.' + version + '.min.js';
  22. console.log(minFileName);
  23. let code = '';
  24. for (const f of action.mergeFiles) {
  25. code = code + fs.readFileSync(__dirname + '/app' + f, 'utf8');
  26. }
  27. fs.writeFileSync(minFileName, Uglyfy.minify(code, { mangle: true }).code);
  28. }
  29. }
  30. }