【发布时间】:2023-01-14 05:07:55
【问题描述】:
我在没有创建反应应用程序(没有弹出)的情况下构建反应应用程序。 如果代码没有改变(因为缓存问题),我想在每次构建时生成新的哈希值。 我安装了 react-app-rewired 以使用配置重载并将 package.json 更改为
"build": "react-app-rewired build",
在 config-overrides.js 中,我正在尝试为每个构建(缩小、css、js、样式化等)创建新的哈希,但不确定我是否以正确的方式进行
require('dotenv').config();
var uniqid = require('uniqid');
const FileManagerPlugin = require('filemanager-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebPackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
webpack: function (config, env) {
console.log('outputconfig before', config.output);
const buildHash = uniqid();
config.output.filename = `static/js/[name].${buildHash}.js`;
config.output.chunkFilename = `static/js/[name].${buildHash}.chunk.js`;
console.log('outputs config', config.output);
return config;
},
};
当我将其部署到生产环境时,如果代码没有更改,哈希构建看起来是相同的。.不确定我是否正确配置了 config-overloads.js,也许我需要添加 webpack 或不确定的东西。
我希望每个构建都为 js、css 和 html 文件生成新的唯一名称。
【问题讨论】:
-
哈希是从源代码生成的。相同的代码将始终生成相同的哈希值,它不是随机字符。
-
是的,我知道,我想强制它生成一个新的,即使代码没有改变。不需要散列,它可以是使用 uniqueId 包的唯一编号
-
你想做什么?这似乎是一个 xy 问题。