#vue.js #caching #vuejs2 #vue-directives #vuejs-transition
#vue.js #кэширование #vuejs2 #vue-директивы #vuejs-переход
Вопрос:
Итак, я создал веб-сайт с vue.js . Он развернут в корзине AWS s3, которая лежит в основе дистрибутива CloudFront. Недавно я узнал, что некоторые пользователи видят версию веб-сайта 2-недельной давности. Это большая проблема, так как я обновляю веб-сайт несколько раз в день.
Я установил значение TTL CloudFront на 1 минуту, чтобы попытаться избежать более длительного кэширования, но это не решило проблемы. Я попытался внедрить сервис, который работал следующим образом, который вызывал много исключений и не работал.
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/sw.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}
Я также пытался полностью отключить кеш, но это не сработало:
module.exports = {
chainWebpack: config => {
if (process.env.NODE_ENV === 'production') {
config.module.rule('vue').uses.delete('cache-loader');
config.module.rule('js').uses.delete('cache-loader');
config.module.rule('ts').uses.delete('cache-loader');
config.module.rule('tsx').uses.delete('cache-loader');
}
}
}
Я хочу иметь возможность представлять полностью свежий контент на веб-сайте и не позволять ему кэшироваться неделями….
Комментарии:
1. Как вы создаете файлы сборки?