更新html文件

时间:2018-05-14 12:13:40

标签: javascript html node.js caching heroku

我在Heroku上主持我的小项目。

我的问题是,当我写一个HTML文件的代码时,例如

fs.writeFile('home.html', <html><body>Hello</body><html>, function (err) {
        if (err) return console.log(err);
});

它写入文件,一切正常,但它没有更新。所以如果我在更新后进入页面,我会看到旧版本。我已经离线测试了它,它运行正常。

它没有从缓存中获取页面。我已经把

<meta http-equiv="expires" content="0"> 

在HTML文件中,它没有帮助。

1 个答案:

答案 0 :(得分:1)

Heroku's filesystem is ephemeral

  

每个dyno都有自己的短暂文件系统,并带有最近部署代码的全新副本。在dyno的生命周期中,其运行进程可以将文件系统用作临时暂存器,但是任何其他dyno中的进程都不会看到所写的文件,并且在dyno停止或重新启动时,所写的任何文件都将被丢弃。例如,每次因应用程序部署而更换dyno时都会发生这种情况,并且大约每天一次作为正常dyno管理的一部分。

您可以写信给它,但是当您的dyno重新启动时,任何更改都会丢失,这种情况经常发生。

根据您的使用情况,您应该使用data store(默认情况下为Heroku provides a PostgreSQL database,但还有其他选项)或a third-party file storage service like Amazon S3