From 32973f90869ff466401759c23681fc06fa65c71a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 10 六月 2025 23:06:50 +0800 Subject: [PATCH] Merge branch 'master' into positec --- config/webpack.config.js | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/config/webpack.config.js b/config/webpack.config.js index 6591fda..5826327 100644 --- a/config/webpack.config.js +++ b/config/webpack.config.js @@ -1,4 +1,4 @@ -'use strict'; +// 'use strict'; const fs = require('fs'); const isWsl = require('is-wsl'); @@ -25,7 +25,7 @@ const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin'); const ForkTsCheckerWebpackPlugin = require('react-dev-utils/ForkTsCheckerWebpackPlugin'); const typescriptFormatter = require('react-dev-utils/typescriptFormatter'); -const eslint = require('eslint'); +// const eslint = require('eslint'); const postcssNormalize = require('postcss-normalize'); @@ -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