此处做一个简单的配置分享。
qiankun中依赖import-html-entry,主应用在读取子应用的时候是从index.html进行读取的,然后再决定读取其他的静态资源,意味着我们只需要解决index.html的缓存,即可实现解决主应用无法及时读取子应用最新代码的问题,并且不会影响到其他的静态资源缓存,二次加载子应用的响应速度也可以得到保障。
如何实现取消缓存
通常我们都是使用的nginx进行文件服务器管理,可以添加返回头Cache-Control "no-cache, must-revalidate";告诉浏览器这个不进行缓存,读取最新的代码。其他运维软件原理类似,就不再一一列举。
废话不多说 nginx的配置
server {
listen xxx;
access_log xxx main;
location / {
root /opt/openresty/nginx/html/sale-manage-plat/dist;
try_files $uri $uri/ /index.html;
client_max_body_size 15m;
add_header Access-Control-Allow-Origin '*' always;
if ($uri ~* "index.html") {
# 关闭缓存
add_header Cache-Control "no-cache, must-revalidate";
# 避免出现跨域
add_header Access-Control-Allow-Origin '*' always;
}
}
}