У меня есть приложение React, которое каждый раз, когда я повторно внедряю, пользователи говорят мне, что не видят изменений. Я прошу их сделать полный сброс и очистить кеш. Я хочу отключить кеш браузера, когда я нажимаю новую версию, чтобы пользователь увидел изменения.
Я использовал реакции-create-app для первоначального создания приложения.
Я прочитал здесь , что вы должны использовать hash: true в вашем плагине webpack. Я сделал это, и теперь я вижу, что связанное приложение реакции теперь имеет строку запроса, но теперь я получаю сообщение об ошибке:
Refused to execute script from 'https://example.com/static/js/main.9b80cc8a.js?76de7bb1d01e56c5fcb0' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled
Эта ошибка покрывается здесь с помощью Node. Я использую express.static
Я изменил веб-пакет с этого:
new HtmlWebpackPlugin({
inject: true,
template: paths.appHtml,
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}),
на это:
new HtmlWebpackPlugin({
hash: true,
inject: true,
template: paths.appHtml,
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}),
Мой код узла выглядит следующим образом, который ядумаю, что это правильно:
app.use(express.static(path.join(__dirname, 'public')));
Публичный каталог содержит приложение, созданное в производственных условиях.
Как можно предотвратить эту ошибку и очистить кэш браузера при обновлении приложения?