2017-06-28 9 views
0

私のブログを実行しているノードアプリケーションがあり、コンテンツが外部APIから来ています。私はexpressを使用し、現在dustのテンプレートを使用しており、デフォルトではキャッシュされています。しかし、明らかに、ノードを再起動することなくキャッシュされたファイルをクリアする方法はありません。外部APIからのコンテンツが変更されたときにキャッシュされたビューを更新するノードを再起動する必要があります

blogpostを更新するとノードが再起動したり、何か間違っていますか?

私はウェブフックを持っているので、コンテンツの変更に取り組むことができます。私は正しく何をするのか分かりません。

答えて

0

あなたのブログの投稿がデータベース内に保存されている場合、expressはHTMLテンプレートのみをキャッシュしますが、その情報を表示します。blogpostsが新しいht; lページになるたびに、nodejsサーバーを再起動する必要があると思います。しかし、あなたの明示的な設定(私は思うテンプレート設定)には、キャッシュを無効にするオプションがあります。 そして/あるいはpm2やnodemonを使ってあらゆる変更にノードjを再起動することができます(実際には最良の方法ではありません)。

PS:oupsはかなり違った方法で話をします。だから私はほこりのあなたのキャッシュを削除することができますと思います。私がnodejを再起動する唯一の時間は、javascript/nodejsコードを更新するときです。

+0

を、私はそれが私にはとても良い音しない非アクティブにかなり有益であると一般的にはビューのキャッシュを参照してください。 テンプレートが間違っているように聞こえますが、HTMLは保存するだけで内容は保存しないといけないのですが。 PHPから私はキャッシュされたビューを置き換えるだけでしたので、このコンセプトはノードに実際にはありませんか? –

+0

私は決してほこりを使用していないので、どのようにキャッシュを処理するのか分かりません。しかし、ejsやswigなどを使用すると、テンプレート内の完全なhtmlとすべてのパラメータをキャッシュするだけで、テンプレート/エンジンに経路/コントローラを送信する値に置き換える必要があります – sheplu

+0

ありがとうございました。別の場所にキャッシュされます。あなたが記述するキャッシュの動作は正しいです。 –

0

残念ながら、サーバーを再起動する必要がありますが、後で表示キャッシュを無効にするにはエクスプレス構成を変更する必要があります。 は、単にあなたがそのような何かを追加することができます:大丈夫、うーん

var app = express(); 
app.disable('view cache'); //app: is express 
関連する問題