build_min.js 986 B

12345678910111213141516171819202122232425262728293031323334
  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. const savePath = __dirname + '/app' + JsFiles.webPath;
  14. if (!fs.existsSync(savePath)) fs.mkdirSync(savePath);
  15. for (const c in JsFiles.controller) {
  16. const controller = JsFiles.controller[c];
  17. for (const a in controller) {
  18. const action = controller[a];
  19. if (action.mergeFiles && action.mergeFile.length > 0) {
  20. const minFileName = savePath + action.mergeFile + '.' + version + '.min.js';
  21. let code = '';
  22. for (const f of action.mergeFiles) {
  23. code = code + fs.readFileSync(__dirname + '/app' + f, 'utf8');
  24. }
  25. fs.writeFileSync(minFileName, Uglyfy.minify(code, {mangle: true}).code);
  26. }
  27. }
  28. }