использую CRA(webpack4.4) & craco.js
Нужно в билд делать по два файла, один должен содержать хеш в названии(стандартный вывод) и в ту же папку з бандлом еще + тот же файл джс только уже без хеша в названии
!!Важно чтобы это все происходило по одной команде билда!!
Пример craco config:
const hash = {
webpack: {
configure: {
entry: 'src/index',
output: {
filename: "static/js/[name].[contenthash:8].js"
},
optimization: {
runtimeChunk: false,
splitChunks: {
chunks(chunk) {
return false;
},
},
},
},
},
plugins: [
{
plugin: {
overrideWebpackConfig: ({ webpackConfig }) => {
webpackConfig.plugins[5].options.filename = "static/css/[name].[contenthash:8].css";
return webpackConfig;
},
},
options: {},
},
],
};
const withoutHash = {
webpack: {
configure: {
entry: 'src/index',
output: {
filename: "static/js/[name].js"
},
optimization: {
runtimeChunk: false,
splitChunks: {
chunks(chunk) {
return false;
},
},
},
},
},
plugins: [
{
plugin: {
overrideWebpackConfig: ({ webpackConfig }) => {
webpackConfig.plugins[5].options.filename = "static/css/[name].css";
return webpackConfig;
},
},
options: {},
},
],
};
module.exports = [hash, withoutHash]