【问题标题】:Angular 2 application cache issueAngular 2 应用程序缓存问题
【发布时间】:2019-02-22 07:00:32
【问题描述】:

我是 Angular 2 的初学者,从事小型项目。 我正在研究 Angular (7.2.6) 我在app.component.html 中添加了一个简单的按钮。 甚至单击“onButtonClick”并将事件写入 app.component.ts 我在onButtonClick 事件中添加了一个简单的警报。

一切正常,我收到了警报。

之后,我删除了警报并再次运行该项目。令人惊讶的是,我仍然收到警报。 我重新启动了机器,警报停止了 :) 我在学习 Angular 时是否遗漏了什么?

【问题讨论】:

  • 您的代码可能已缓存到以前的版本
  • 编辑代码后尝试清除缓存。
  • 如何防止缓存?我随机面临这个问题。有时我正在添加 HTML,但它没有反映。我必须在 HTML 中添加一些文本,以便我可以看到整个更改后的 HTML。很奇怪!

标签: javascript angular angular2-template


【解决方案1】:

如果您使用谷歌浏览器,则只需单击F12 打开Developer Tools,默认情况下,在Network 选项卡上,应选中Disable Cache

在谷歌浏览器中使用热键Ctrl+Shft+R

【讨论】:

    【解决方案2】:

    singe Angular 2 在 NodeJs 上运行。您可以从使用这些命令清除 Nodejs 缓存开始

    npm cache clean 
    npm cache clear
    

    然后,您可以通过 Angular 模板编译器清除 Angular 模板缓存

    import { RuntimeCompiler} from @angular/compiler
    
    constructor(
       private _rc: RuntimeCompiler
    ){}
    
    clearCache(){
      this._rc.clearCache();
    }
    

    我希望这对你有用。

    【讨论】:

    • 如果我为用户部署我的 Angular 应用程序,它的行为方式是否相同?用户会看到我更新的更改吗?否则我的公司会踢我.. :(
    • 是的.. 他们将看到更新的更改,因为您正在部署最终版本
    • 记得将 [ RuntimeCompiler ] 添加到您的 providers 数组中
    猜你喜欢
    • 2020-08-19
    • 2017-07-13
    • 2016-11-20
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多