From 0d3db253cad1fb49c4fae9b9a537c8c318c7172f Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 29 十一月 2023 10:23:59 +0800
Subject: [PATCH] 优化应用中心卸载

---
 vue.config.js |  343 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 186 insertions(+), 157 deletions(-)

diff --git a/vue.config.js b/vue.config.js
index 5547a60..0ff71ac 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,157 +1,186 @@
-"use strict";
-const glob = require("glob");
-const pages = {};
-const IS_VENDOR = /[\\/]node_modules[\\/]/;
-const pageVendor = {};
-
-const pkg = require("./package.json");
-const timestamp = new Date().getTime();
-const queryStr = `?v=${pkg.version}&t=${timestamp}`;
-
-glob.sync("./src/pages/**/main.ts").forEach((path) => {
-  const chunk = path.split("./src/pages/")[1].split("/main.ts")[0];
-  const chunk_vendor = `${chunk}-vendors`;
-  const chunk_common = `${chunk}-common`;
-  pages[chunk] = {
-    entry: path,
-    template: "public/index.html",
-    title: chunk == "desktop/index" ? "SmartAI" : chunk,
-    chunks: [chunk_vendor, "chunk-common", chunk],
-  };
-  if (chunk != "index") {
-    pages[chunk].filename = "view/" + chunk + ".html";
-  }
-
-  pageVendor[chunk_vendor] = {
-    name: chunk_vendor,
-    priority: -11,
-    chunks: (c) => c.name === chunk,
-    test: /\.js$/,
-    enforce: true,
-  };
-
-  // pageVendor[chunk_common] = {
-  //   name: chunk_common,
-  //   priority: -20,
-  //   chunks: 'initial',
-  //   minChunks: 2,
-  //   reuseExistingChunk: true,
-  //   enforce: true
-  // }
-});
-
-// const serverUrl = "http://58.118.225.79:41243" // 缇婁簲
-const serverUrl = "http://192.168.20.189:7009";
-//const serverUrl = "http://192.168.20.10:9000";
-
-const cir = require("circular-dependency-plugin");
-
-module.exports = {
-  pages,
-  chainWebpack: (config) => {
-    config.plugins.delete("named-chunks");
-    if (process.env.NODE_ENV === "production") {
-      config.output.filename("js/[name].js" + queryStr).end();
-      config.output.chunkFilename("js/[name].js" + queryStr).end();
-      // 淇敼鐢熶骇閰嶇疆
-      config.plugin("extract-css").tap(() => [
-        {
-          filename: `css/[name].css${queryStr}`,
-          chunkFilename: `css/[name].css${queryStr}`,
-        },
-      ]);
-    }
-
-    config.optimization.splitChunks({
-      cacheGroups: pageVendor,
-    });
-
-    // config.module.rule('fonts').use('url-loader').loader('file-loader').options({ name: 'fonts/[name].[ext]', publicPath: '../' })
-    //config.module.rule('fonts').use('url-loader').loader('file-loader').options({ name: 'fonts/[name].[ext]', outputPath: '../' })
-  },
-  productionSourceMap: false,
-  filenameHashing: false,
-  pwa: {
-    iconPaths: {
-      favicon32: "favicon.ico",
-      favicon16: "favicon.ico",
-    },
-  },
-  devServer: {
-    proxy: {
-      "/track": {
-        target: serverUrl,
-        // ws: true,
-        changeOrigin: true,
-      },
-      "/ws": {
-        target: serverUrl,
-        // ws: true,
-        changeOrigin: true,
-      },
-      "/data/api-v/app/findAllApp": {
-        // target: '/',
-        target: "http://localhost:8080/",
-        changeOrigin: true,
-        pathRewrite: {
-          "^/data/api-v/app/findAllApp": "apps.json",
-        },
-      },
-      "/api-c": {
-        target: serverUrl,
-        changeOrigin: true,
-      },
-      "/api-v": {
-        target: serverUrl,
-        changeOrigin: true,
-      },
-      "/api-f": {
-        target: serverUrl,
-        // secure: false,
-        changeOrigin: true,
-      },
-      "/api-p": {
-        target: serverUrl,
-        // secure: false,
-        changeOrigin: true,
-      },
-      "/api-u": {
-        target: serverUrl,
-        changeOrigin: true,
-      },
-      "/httpImage": {
-        target: serverUrl,
-        changeOrigin: true, //寮�鍚唬鐞�
-      },
-      "/files": {
-        target: serverUrl,
-        changeOrigin: true, //寮�鍚唬鐞�
-      },
-      "/temp": {
-        target: "http://192.168.20.10:9000",
-        changeOrigin: true, //寮�鍚唬鐞�,
-        pathRewrite: {
-          "/temp": "",
-        },
-      },
-    },
-  },
-  configureWebpack: {
-    plugins: [
-      new cir({
-        exclude: /a\.js|node_modules/,
-        include: /dir/,
-        failOnError: true,
-        allowAsyncCycles: false,
-        cwd: process.cwd(),
-      }),
-    ],
-  },
-  /* css:{
-    loaderOptions:{
-      scss:{
-        prependData:`@import"@/assets/css/globalVariable.scss"`
-      }
-    }
-  } */
-};
+"use strict"
+const glob = require("glob")
+const { ExitStatus } = require("typescript")
+const pages = {}
+const IS_VENDOR = /[\\/]node_modules[\\/]/
+const pageVendor = {}
+
+const pkg = require("./package.json")
+const timestamp = new Date().getTime()
+const queryStr = `?v=${pkg.version}&t=${timestamp}`
+
+const basicApps = [
+  "index",
+  "ai",
+  "analysisPower",
+  "cameraAccess",
+  "cameraVideo",
+  "datapush",
+  "desktop",
+  "gb28181",
+  "library",
+  "search",
+  "settings",
+  "syslog"
+]
+
+const argv = process.env.npm_lifecycle_event
+
+glob.sync("./src/pages/**/main.ts").forEach((path) => {
+  const chunk = path.split("./src/pages/")[1].split("/main.ts")[0]
+
+  // 浠呯紪璇戝熀纭�搴旂敤
+  if (argv == "release") {
+    let app = chunk.split("/")
+    if (app.length < 0 || basicApps.indexOf(app[0]) < 0) {
+      return
+    }
+  }
+
+  const chunk_vendor = `${chunk}-vendors`
+  const chunk_common = `${chunk}-common`
+  pages[chunk] = {
+    entry: path,
+    template: "public/index.html",
+    title: chunk == "desktop/index" ? "SmartAI" : chunk,
+    chunks: [chunk_vendor, "chunk-common", chunk]
+  }
+  if (chunk != "index") {
+    pages[chunk].filename = "view/" + chunk + ".html"
+  }
+
+  pageVendor[chunk_vendor] = {
+    name: chunk_vendor,
+    priority: -11,
+    chunks: (c) => c.name === chunk,
+    test: /\.js$/,
+    enforce: true
+  }
+
+  // pageVendor[chunk_common] = {
+  //   name: chunk_common,
+  //   priority: -20,
+  //   chunks: 'initial',
+  //   minChunks: 2,
+  //   reuseExistingChunk: true,
+  //   enforce: true
+  // }
+})
+
+// const serverUrl = "http://192.168.20.189:7009";
+const serverUrl = "http://192.168.20.2:7009"
+//const serverUrl = "http://192.168.20.116:7009";
+const iotdataServerUrl = "http://192.168.8.10:9000"
+
+// const cir = require("circular-dependency-plugin");
+
+module.exports = {
+  pages,
+  chainWebpack: (config) => {
+    config.plugins.delete("named-chunks")
+    if (process.env.NODE_ENV === "production") {
+      config.output.filename("js/[name].js" + queryStr).end()
+      config.output.chunkFilename("js/[name].js" + queryStr).end()
+      // 淇敼鐢熶骇閰嶇疆
+      config.plugin("extract-css").tap(() => [
+        {
+          filename: `css/[name].css${queryStr}`,
+          chunkFilename: `css/[name].css${queryStr}`
+        }
+      ])
+    }
+
+    config.optimization.splitChunks({
+      cacheGroups: pageVendor
+    })
+
+    // config.module.rule('fonts').use('url-loader').loader('file-loader').options({ name: 'fonts/[name].[ext]', publicPath: '../' })
+    //config.module.rule('fonts').use('url-loader').loader('file-loader').options({ name: 'fonts/[name].[ext]', outputPath: '../' })
+  },
+  productionSourceMap: false,
+  filenameHashing: false,
+  pwa: {
+    iconPaths: {
+      favicon32: "favicon.ico",
+      favicon16: "favicon.ico"
+    }
+  },
+  devServer: {
+    proxy: {
+      "/track": {
+        target: serverUrl,
+        // ws: true,
+        changeOrigin: true
+      },
+      "/ws": {
+        target: serverUrl,
+        // ws: true,
+        changeOrigin: true
+      },
+      // "/data/api-v/app/findAllApp": {
+      //   // target: '/',
+      //   target: "http://localhost:8080/",
+      //   changeOrigin: true,
+      //   pathRewrite: {
+      //     "^/data/api-v/app/findAllApp": "apps.json",
+      //   },
+      // },
+      "/api-c": {
+        target: serverUrl,
+        changeOrigin: true
+      },
+      "/api-v": {
+        target: serverUrl,
+        changeOrigin: true
+      },
+      "/api-f": {
+        target: serverUrl,
+        // secure: false,
+        changeOrigin: true
+      },
+      "/api-p": {
+        target: serverUrl,
+        // secure: false,
+        changeOrigin: true
+      },
+      "/api-u": {
+        target: serverUrl,
+        changeOrigin: true
+      },
+      "/httpImage": {
+        target: serverUrl,
+        changeOrigin: true // 鍥剧墖浠g悊
+      },
+      "/files": {
+        target: serverUrl,
+        changeOrigin: true // 鏂囦欢浠g悊
+      },
+      "/iotdata": {
+        target: iotdataServerUrl,
+        changeOrigin: true // iot鏈嶅姟,
+      },
+      "/version": {
+        target: serverUrl,
+        changeOrigin: true // 鐗堟湰妫�鏌�,
+      }
+    }
+  }
+  // configureWebpack: {
+  //   plugins: [
+  //     new cir({
+  //       exclude: /a\.js|node_modules/,
+  //       include: /dir/,
+  //       failOnError: true,
+  //       allowAsyncCycles: false,
+  //       cwd: process.cwd(),
+  //     }),
+  //   ],
+  // },
+  /* css:{
+    loaderOptions:{
+      scss:{
+        prependData:`@import"@/assets/css/globalVariable.scss"`
+      }
+    }
+  } */
+}

--
Gitblit v1.8.0