Angular如何防止缓存?
创始人
2024-10-29 07:00:31
0

在Angular应用程序中,可以使用以下方法防止浏览器缓存文件:

  1. 给应用之后的所有文件添加版本号(如?v=1.0.0),以便每次更改后都能强制客户端从服务器重新下载文件。可以在Angular的构建配置文件(angular.json, .angular-cli.json等)中配置输出文件名带上版本号:
"outputHashing": "all"

或者手动使用以下语法添加版本号:


  1. 让Angular服务端生成的HTML具有唯一性,以便客户端从服务器获得新页面的HTML而不是缓存的HTML。可以在app.module.ts文件中,通过指定providers为APP_INITIALIZER,以便在应用程序启动时执行:
import { NgModule, APP_INITIALIZER } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';

export function initApp() {
  // 用随机数作为版本号
  const version = Math.random();
  document.cookie = `appVersion=${version}`;
}

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  providers: [
    {
      provide: APP_INITIALIZER,
      useFactory: initApp,
      multi: true
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

这将在应用程序房启动时随机生成一个版本号,并以cookie的方式存储。每当重新启动应用程序时,都会生成新的版本号。

注:这种方法基于一个假设:如果HTML是唯一的,那么它的资源也应该是唯一的。

  1. 配置服务器(如Nginx)为禁用浏览器缓存,以便客户端从服务器获取更新的文件。可以将下面的代码放入服务器的配置文件中:
location / {
  //

相关内容

热门资讯

透视线上!wepokerplu... 透视线上!wepokerplus脚本,wepoker脚本(透视)实用技巧(有挂辅助)wepokerp...
透视美元局!wepoker黑侠... 透视美元局!wepoker黑侠破解,德州圈脚本,德州论坛(有挂攻略);1、这是跨平台的wepoker...
透视透视挂!wepoker手机... 透视透视挂!wepoker手机助手,wepoker透视底牌脚本(透视)微扑克教程(有挂介绍)1、在w...
透视好友!we poker游戏... 透视好友!we poker游戏下,hhpoker有后台操作吗,系统教程(有挂方法)1、hhpoker...
透视挂!wpk德州局透视,购买... 透视挂!wpk德州局透视,购买的wpk辅助在哪里下载,透明教程(有挂秘籍)购买的wpk辅助在哪里下载...
透视软件!wepoker有辅助... 透视软件!wepoker有辅助吗,wepoker底牌透视(透视)2025版教程(有挂解密)1.wep...
透视好友房!wpk辅助器,红龙... 透视好友房!wpk辅助器,红龙poker辅助,可靠技巧(有挂技巧)1、全新机制【红龙poker辅助软...
透视最新!wepoker私人局... 透视最新!wepoker私人局透视方法,wepoker手机插件(透视)解密教程(有挂教程)1、wep...
透视模拟器!德州hhpoker... 透视模拟器!德州hhpoker脚本,xpoker辅助神器,总结教程(有挂攻略);德州hhpoker脚...
透视实锤!wepoker免费透... 透视实锤!wepoker免费透视,有没有人wepoker(透视)透明挂教程(有挂揭秘);1)wepo...