Ver Fonte

压缩功能

gaoshuaixing há 4 anos atrás
pai
commit
7595317531
2 ficheiros alterados com 77 adições e 2 exclusões
  1. 2 2
      package.json
  2. 75 0
      tools/code_compress.js

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "electron-egg",
-  "version": "1.16.0",
+  "version": "1.16.1",
   "description": "A fast, desktop software development framework",
   "main": "main.js",
   "scripts": {
@@ -101,7 +101,7 @@
     "eslint-plugin-prettier": "^3.0.1",
     "fs-extra": "^9.1.0",
     "prettier": "^1.16.4",
-    "webstorm-disable-index": "^1.2.0"
+    "uglify-js": "^3.14.3"
   },
   "dependencies": {
     "dayjs": "^1.9.5",

+ 75 - 0
tools/code_compress.js

@@ -0,0 +1,75 @@
+'use strict';
+
+const path = require('path');
+const fs = require('fs');
+const fsPro = require('fs-extra');
+const UglifyJS = require('uglify-js');
+
+
+console.log('[electron] [code_compress] moving frontend asset to egg public dir');
+console.log('[electron] [code_compress] start');
+
+class codeCompress {
+  constructor(options = {}) {
+    this.dirs = [
+      'app',
+      'electron'
+    ];
+  }
+
+  /**
+   * 备份 app、electron目录代码
+   */
+  backup () {
+    if (!this.fileExist(sourceIndexFile)) {
+      console.log('[electron] [replace_dist] ERROR source dir is empty!!!');
+      return
+    }
+
+
+  }
+
+  /**
+   * 检查文件是否存在
+   */
+  fileExist (filePath) {
+    try {
+      return fs.statSync(filePath).isFile();
+    } catch (err) {
+      return false;
+    }
+  };
+
+}
+
+// argv
+let distDir = '';
+for (let i = 0; i < process.argv.length; i++) {
+  const tmpArgv = process.argv[i]
+  if (tmpArgv.indexOf('--dist_dir=') !== -1) {
+    distDir = tmpArgv.substr(11)
+  }
+}
+
+
+const sourceDir = path.normalize(distDir);
+const targetDir = path.normalize('./app/public');
+const sourceIndexFile = path.normalize(sourceDir + '/index.html');
+const targetIndexFile = path.normalize( './app/view/index.ejs');
+if (!fileExist(sourceIndexFile)) {
+  console.log('[electron] [replace_dist] ERROR source dir is empty!!!');
+  return
+}
+
+console.log('[electron] [replace_dist] delete target dir:', targetDir);
+fs.rmdirSync(targetDir, {recursive: true});
+
+console.log('[electron] [replace_dist] copy :', sourceDir);
+fsPro.copySync(sourceDir, targetDir);
+
+// replace ejs
+fsPro.copySync(sourceIndexFile, targetIndexFile);
+console.log('[electron] [replace_dist] replace index.ejs');
+
+console.log('[electron] [replace_dist] end');
+