Home » vue » Vue WebApp – Load latest build

Vue WebApp – Load latest build

Posted by: admin November 26, 2021 Leave a comment


I’m building a Vue.js application using Vuexy BootstrapVue template, deployed in a Docker container.

I am finding that when we deploy updates to our web app, that the User has to do a hard-refresh in their browser to load the latest version of the app, otherwise they’ll be navigating around a cached version.

Is there a way for me to force a client browser to load the latest version for a User?
Either on every load, or every few hours?

(I’ve tagged Bootstrap-Vue for transparency, but don’t actually know if it has any bearing on this issue)


You are facing the cache problem and there is multiple ways to handle this.

Cache Control

You can control the cache with the header with max-age or no-store, no-cache to simple disable it, like this question/answer: How do we control web page caching, across all browsers?


Cache busting

Aappending a version (example: 1.0.0) to query string of the script tag:

<script src="path/to/your/app.min.js?v=1.0.0"

and change that version for every build.

Hashing the script file

You can also use some webpack/rollup config to build the script with a hash, like app.bf43112.js


const config = {
  output: {
    path: PATHS.build,
    filename: "[name].[contenthash].js",


const isProduction = process.env.NODE_ENV === 'production';

export default {
  output: {
    sourcemap: true,
    format: 'iife',
    name: 'app',
    file: isProduction ? 'bundle[hash].js' : 'public/build/bundle.js',

Reference: Hashed file names using Rollup

Service Worker

Another solution, that I never tested, but sounds a good method.. is creating a service worker to control how retrieve the js file:

You can do things like deleting the cache, responding the cache with a response that you manually fetch with js, etc.