| | |
| | | "use strict";
|
| | | const glob = require("glob");
|
| | | const { ExitStatus } = require("typescript");
|
| | | const pages = {};
|
| | | const IS_VENDOR = /[\\/]node_modules[\\/]/;
|
| | | const pageVendor = {};
|
| | | "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 pkg = require("./package.json")
|
| | | const timestamp = new Date().getTime()
|
| | | const queryStr = `?v=${pkg.version}&t=${timestamp}`
|
| | |
|
| | | const basicApps = [
|
| | | "index",
|
| | |
| | | "library",
|
| | | "search",
|
| | | "settings",
|
| | | "systemSettings",
|
| | | ];
|
| | | "syslog"
|
| | | ]
|
| | |
|
| | | const argv = process.env.npm_lifecycle_event;
|
| | | 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];
|
| | | const chunk = path.split("./src/pages/")[1].split("/main.ts")[0]
|
| | |
|
| | | // 仅编译基础应用
|
| | | if (argv == "release") {
|
| | | let app = chunk.split("/");
|
| | | let app = chunk.split("/")
|
| | | if (app.length < 0 || basicApps.indexOf(app[0]) < 0) {
|
| | | return;
|
| | | return
|
| | | }
|
| | | }
|
| | |
|
| | | const chunk_vendor = `${chunk}-vendors`;
|
| | | const chunk_common = `${chunk}-common`;
|
| | | 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],
|
| | | };
|
| | | chunks: [chunk_vendor, "chunk-common", chunk]
|
| | | }
|
| | | if (chunk != "index") {
|
| | | pages[chunk].filename = "view/" + chunk + ".html";
|
| | | pages[chunk].filename = "view/" + chunk + ".html"
|
| | | }
|
| | |
|
| | | pageVendor[chunk_vendor] = {
|
| | |
| | | priority: -11,
|
| | | chunks: (c) => c.name === chunk,
|
| | | test: /\.js$/,
|
| | | enforce: true,
|
| | | };
|
| | | enforce: true
|
| | | }
|
| | |
|
| | | // pageVendor[chunk_common] = {
|
| | | // name: chunk_common,
|
| | |
| | | // reuseExistingChunk: true,
|
| | | // enforce: true
|
| | | // }
|
| | | });
|
| | | })
|
| | |
|
| | | const serverUrl = "http://192.168.20.189:7009"; // 羊五//
|
| | | // const serverUrl = "http://192.168.20.117:7009";
|
| | | // const serverUrl = "http://192.168.8.10:7009";
|
| | | //const serverUrl = "http://192.168.8.118:7009";
|
| | |
|
| | | const iotdataServerUrl = "http://192.168.8.10:9000";
|
| | | const serverUrl = "http://192.168.20.189: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");
|
| | | 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.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}`,
|
| | | },
|
| | | ]);
|
| | | chunkFilename: `css/[name].css${queryStr}`
|
| | | }
|
| | | ])
|
| | | }
|
| | |
|
| | | config.optimization.splitChunks({
|
| | | cacheGroups: pageVendor,
|
| | | });
|
| | | 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: '../' })
|
| | |
| | | pwa: {
|
| | | iconPaths: {
|
| | | favicon32: "favicon.ico",
|
| | | favicon16: "favicon.ico",
|
| | | },
|
| | | favicon16: "favicon.ico"
|
| | | }
|
| | | },
|
| | | devServer: {
|
| | | proxy: {
|
| | | "/track": {
|
| | | target: serverUrl,
|
| | | // ws: true,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/ws": {
|
| | | target: serverUrl,
|
| | | // ws: true,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/data/api-v/app/findAllApp": {
|
| | | // target: '/',
|
| | | target: "http://localhost:8080/",
|
| | | changeOrigin: true,
|
| | | pathRewrite: {
|
| | | "^/data/api-v/app/findAllApp": "apps.json",
|
| | | },
|
| | | "^/data/api-v/app/findAllApp": "apps.json"
|
| | | }
|
| | | },
|
| | | "/api-c": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/api-v": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/api-f": {
|
| | | target: serverUrl,
|
| | | // secure: false,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/api-p": {
|
| | | target: serverUrl,
|
| | | // secure: false,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/api-u": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true,
|
| | | changeOrigin: true
|
| | | },
|
| | | "/httpImage": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true, //开启代理
|
| | | changeOrigin: true // 图片代理
|
| | | },
|
| | | "/files": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true, //开启代理
|
| | | changeOrigin: true // 文件代理
|
| | | },
|
| | | "/iotdata": {
|
| | | target: iotdataServerUrl,
|
| | | changeOrigin: true, //开启代理,
|
| | | changeOrigin: true // iot服务,
|
| | | },
|
| | | "/version": {
|
| | | target: serverUrl,
|
| | | changeOrigin: true, //开启代理,
|
| | | },
|
| | | },
|
| | | },
|
| | | changeOrigin: true // 版本检查,
|
| | | }
|
| | | }
|
| | | }
|
| | | // configureWebpack: {
|
| | | // plugins: [
|
| | | // new cir({
|
| | |
| | | }
|
| | | }
|
| | | } */
|
| | | };
|
| | | }
|