shuishen
2022-02-09 6affa25e79e8df38d627e948fbce41a7c0a6ec9f
vue.config.js
@@ -1,57 +1,61 @@
const path = require("path");
const CopywebpackPlugin = require("copy-webpack-plugin");
const dvgisDist = "./node_modules/@dvgis";
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
//减少chunk-vendors.js文件大小
const CompressionPlugin = require("compression-webpack-plugin");
// 减少chunk-vendors.js文件大小
const CompressionPlugin = require('compression-webpack-plugin')
module.exports = {
  publicPath: "/",
  publicPath: '/',
  lintOnSave: false,
  // 其他配置
  chainWebpack: (config) => {
    config.plugin("copy").use(CopywebpackPlugin, [
    config.plugin('copy').use(CopywebpackPlugin, [
      [
        {
          from: path.join(dvgisDist, "dc-sdk/dist/resources"),
          to: "libs/dc-sdk/resources",
          from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
          to: 'libs/dc-sdk/resources'
        },
        {
          from: "./public/img",
          to: "img",
          from: './public/img',
          to: 'img'
        },
        {
          from: "./public/examples",
          to: "examples",
          from: './public/examples',
          to: 'examples'
        },
        {
          from: "./public/mx",
          to: "mx",
          from: './public/mx',
          to: 'mx'
        },
        {
          from: "./public/wp",
          to: "wp",
          from: './public/wp',
          to: 'wp'
        },
      ],
    ]);
        {
          from: './public/favicon.ico',
          to: 'favicon.ico'
        }
      ]
    ])
  },
  //减少chunk-vendors.js文件大小
  // 减少chunk-vendors.js文件大小
  //  报错 TypeError: Cannot read property 'tapPromise' of undefined
  //解决  ,把compression-webpack-plugin包退回成 compression-webpack-plugin@5.0.1  即可
  //文件由8M 减成2.5M
  productionSourceMap: false, //代码压缩加密
  // 解决  ,把compression-webpack-plugin包退回成 compression-webpack-plugin@5.0.1  即可
  // 文件由8M 减成2.5M
  productionSourceMap: false, // 代码压缩加密
  configureWebpack: {
    // webpack plugins
    plugins: [
      //提供带 Content-Encoding 编码的压缩版的资源
      // 提供带 Content-Encoding 编码的压缩版的资源
      new CompressionPlugin({
        algorithm: "gzip",
        algorithm: 'gzip',
        test: /\.js$|\.html$|\.css/, // 匹配文件名
        // test: /\.(js|css)$/,
        threshold: 10240, // 对超过10k的数据压缩
        deleteOriginalAssets: false, // 不删除源文件
        minRatio: 0.8, // 压缩比
      }),
    ],
  },
};
        minRatio: 0.8 // 压缩比
      })
    ]
  }
}