From c0c034b3ef0fdf0fd9c802d5984dbd717db6817a Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 06 九月 2023 17:54:55 +0800
Subject: [PATCH] 定制桌面.
---
vue.config.js | 315 +++++++++++++++++++++++++++++++---------------------
1 files changed, 186 insertions(+), 129 deletions(-)
diff --git a/vue.config.js b/vue.config.js
index f623575..072bb2b 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,129 +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.117:7009"
-
-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, //寮�鍚唬鐞�
- }
- }
- }
-}
+"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.116: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