I came across the same situation using combo SPA + i18next + IIS and noticed that sometimes json files were not updated.
The main reason why this is strange at some point is that there is a high chance that you changed the IIS web.config settings AFTER the files were already cached by Google Chrome, since the file was first downloaded without a Cache-Control header Cache-Control .
Cause
There was no Cache-Control: no-cache header in the json files, so after the answer of 304 - Not Modified, he started using the google chrome local disk cache.
Decision
It was agreed
1) Clearing the Google Chrome cache on the "Network" tab (clearing the entire cache also does the job)

2) Placing the web.config file in the / locales / folder with the following staticContent and location rules without specifying the path attribute:
<?xml version="1.0" encoding="utf-8"?> <configuration> <location> <system.webServer> <staticContent> <clientCache cacheControlMode="DisableCache" /> </staticContent> </system.webServer> </location> </configuration>
As stated in the docs on the <location> :
path
Use <location> with the missing attribute path configuration parameters in the current directory and all child directories.
In this case, I applied the rule specifically in the /locales/ folder so as not to interfere with caching for other static content on the website, such as images, JavaScript files, etc. Expected behavior may vary depending on your decision needs.
source share