1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| const path = require("path");
| const CopywebpackPlugin = require("copy-webpack-plugin");
| const dvgisDist = "./node_modules/@dvgis";
|
| //减少chunk-vendors.js文件大小
| const CompressionPlugin = require("compression-webpack-plugin");
|
| module.exports = {
| publicPath: "/",
| lintOnSave: false,
| // 其他配置
| chainWebpack: (config) => {
| config.plugin("copy").use(CopywebpackPlugin, [
| [
| {
| from: path.join(dvgisDist, "dc-sdk/dist/resources"),
| to: "libs/dc-sdk/resources",
| },
| {
| from: "./public/img",
| to: "img",
| },
| {
| from: "./public/examples",
| to: "examples",
| },
| {
| from: "./public/mx",
| to: "mx",
| },
| {
| from: "./public/wp",
| to: "wp",
| },
| ],
| ]);
| },
| //减少chunk-vendors.js文件大小
| // 报错 TypeError: Cannot read property 'tapPromise' of undefined
| //解决 ,把compression-webpack-plugin包退回成 compression-webpack-plugin@5.0.1 即可
| //文件由8M 减成2.5M
| productionSourceMap: false, //代码压缩加密
| configureWebpack: {
| // webpack plugins
| plugins: [
| //提供带 Content-Encoding 编码的压缩版的资源
| new CompressionPlugin({
| algorithm: "gzip",
| test: /\.js$|\.html$|\.css/, // 匹配文件名
| // test: /\.(js|css)$/,
| threshold: 10240, // 对超过10k的数据压缩
| deleteOriginalAssets: false, // 不删除源文件
| minRatio: 0.8, // 压缩比
| }),
| ],
| },
| };
|
|