From 047dbd742341e268ca772eda8d2ff0b6ba09cb44 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 05 六月 2025 16:57:36 +0800
Subject: [PATCH] 2025-06-05

---
 config/webpack.config.js |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/config/webpack.config.js b/config/webpack.config.js
index 54b9961..5826327 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -49,6 +49,14 @@
 const cssModuleRegex = /\.module\.css$/;
 const sassRegex = /\.(scss|sass)$/;
 const sassModuleRegex = /\.module\.(scss|sass)$/;
+const sign = (() => {
+  let uuid = []
+  let options = '0123456789abcdefghigklmnopqrstuv'
+  for (let i = 0; i < 8; i++) {
+    uuid.push(options.substr(Math.floor(Math.random() * 0x20), 1))
+  }
+  return uuid.join('')
+})()
 
 // src => @
 function resolves(dir) {
@@ -173,14 +181,16 @@
       pathinfo: isEnvDevelopment,
       // There will be one main bundle, and one file per asynchronous chunk.
       // In development, it does not produce real files.
+      // contenthash => hash
       filename: isEnvProduction
-        ? 'static/js/[name].[contenthash:8].js'
+        ? `static/js/[name].${sign}.js`
         : isEnvDevelopment && 'static/js/bundle.js',
       // TODO: remove this when upgrading to webpack 5
       futureEmitAssets: true,
       // There are also additional JS chunk files if you use code splitting.
+      // contenthash => hash
       chunkFilename: isEnvProduction
-        ? 'static/js/[name].[contenthash:8].chunk.js'
+        ? `static/js/[name].${sign}.chunk.js`
         : isEnvDevelopment && 'static/js/[name].chunk.js',
       // We inferred the "public path" (such as / or /my-project) from homepage.
       // We use "/" in development.
@@ -352,7 +362,7 @@
               loader: require.resolve('url-loader'),
               options: {
                 limit: imageInlineSizeLimit,
-                name: 'static/media/[name].[hash:8].[ext]',
+                name: `static/media/[name].${sign}.[ext]`,
               },
             },
             // Process application JS with Babel.
@@ -492,7 +502,7 @@
               // by webpacks internal loaders.
               exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
               options: {
-                name: 'static/media/[name].[hash:8].[ext]',
+                name: `static/media/[name].${sign}.[ext]`,
               },
             },
             // ** STOP ** Are you adding a new loader?
@@ -565,8 +575,9 @@
         new MiniCssExtractPlugin({
           // Options similar to the same options in webpackOptions.output
           // both options are optional
-          filename: 'static/css/[name].[contenthash:8].css',
-          chunkFilename: 'static/css/[name].[contenthash:8].chunk.css',
+          // contenthash => hash
+          filename: `static/css/[name].${sign}.css`,
+          chunkFilename: `static/css/[name].${sign}.chunk.css`,
         }),
       // Generate a manifest file which contains a mapping of all asset filenames
       // to their corresponding output file so that tools can pick it up without

--
Gitblit v1.8.0