This commit is contained in:
2025-10-29 06:22:32 +08:00
parent 7ef89ed501
commit aa1f40e164
10 changed files with 30918 additions and 23338 deletions

View File

@@ -35,14 +35,14 @@ module.exports = {
port: process.env.VUE_APP_PROXY_PORT,
proxy: {
"/api": {
target: "http://192.168.1.104:9081",
target: "http://localhost:9081",
changeOrigin: true,
ws: true,
pathRewrite: {
"^/apis": "",
},
},
},
"^/apis": ""
}
}
}
},
configureWebpack: {
// provide the app's title in webpack's name field, so that
@@ -50,11 +50,10 @@ module.exports = {
name: name,
resolve: {
alias: {
"@": resolve("src"),
},
},
"@": resolve("src")
}
}
//devtool:process.env.NODE_ENV === 'development' ?'cheap-module-source-map' :'eval-source-map'
},
chainWebpack(config) {
// it can improve the speed of the first screen, it is recommended to turn on preload
@@ -65,15 +64,18 @@ module.exports = {
// to ignore runtime.js
// https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
include: "initial",
},
include: "initial"
}
]);
// when there are many pages, it will cause too many meaningless requests
config.plugins.delete("prefetch");
// set svg-sprite-loader
config.module.rule("svg").exclude.add(resolve("src/icons")).end();
config.module
.rule("svg")
.exclude.add(resolve("src/icons"))
.end();
config.module
.rule("icons")
.test(/\.svg$/)
@@ -82,19 +84,19 @@ module.exports = {
.use("svg-sprite-loader")
.loader("svg-sprite-loader")
.options({
symbolId: "icon-[name]",
symbolId: "icon-[name]"
})
.end();
config.when(process.env.NODE_ENV !== "development", (config) => {
config.when(process.env.NODE_ENV !== "development", config => {
config
.plugin("ScriptExtHtmlWebpackPlugin")
.after("html")
.use("script-ext-html-webpack-plugin", [
{
// `runtime` must same as runtimeChunk name. default is `runtime`
inline: /runtime\..*\.js$/,
},
inline: /runtime\..*\.js$/
}
])
.end();
config.optimization.splitChunks({
@@ -104,24 +106,24 @@ module.exports = {
name: "chunk-libs",
test: /[\\/]node_modules[\\/]/,
priority: 10,
chunks: "initial", // only package third parties that are initially dependent
chunks: "initial" // only package third parties that are initially dependent
},
elementUI: {
name: "chunk-elementUI", // split elementUI into a single package
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
},
commons: {
name: "chunk-commons",
test: resolve("src/components"), // can customize your rules
minChunks: 3, // minimum common number
priority: 5,
reuseExistingChunk: true,
},
},
reuseExistingChunk: true
}
}
});
// https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
config.optimization.runtimeChunk("single");
});
},
}
};