2016-09-07 4 views
0

私はTwigテンプレートに基づいてローカルにPDFをレンダリングするコマンドラインツールを開発しています。エクスプレスサーバービューの再レンダリング

私の問題は、レンダリングされないテンプレートコードを更新しても、Expressはテンプレートを一度レンダリングすることです。

私は、Webサーバーの起動を介してコンテンツを提供することにより、テンプレートコードをデバッグするためのオプションがあります:今

app.get('/', function (req, res) { 
    res.render(template + '/cv.twig', cvData); 
}); 

を、私はfs.watch方法を知ってる:

fs.watch('views/'+template, function (event, filename) { ... } 

Expressを強制的にキャッシュを削除するか、テンプレートを再レンダリングすることはできません。

コマンドラインツールであるNodemonやForeverなどのコマンドラインツールは使用しないでください。

+0

このアプリケーションをForever/PM2なしでプロダクションにするにはどうすればいいですか? –

+0

生産段階はありません。あなたはPDFを生成して、それに満足しています:) –

答えて

0

Gulp WatchGulp Twigを使用できます。

var gulp = require('gulp'), 
    watch = require('gulp-watch'); 

gulp.task('stream', function() { 
    // Endless stream mode 
    return watch('css/**/*.css', { ignoreInitial: false }) 
     .pipe(gulp.dest('build')); 
}); 
+0

問題はファイルを見ているのではなく、サーバを再起動しなければ同じコンテンツを提供するということです。私はたぶん、表現を投げ捨てるでしょう:) –

+0

gulp-data + gulp-watchでは、パイプ(gulp-twig)に直接データを渡すことができます。この場合、アプリケーションはよりリアルタイムになります。また、あなたは正しいです、あなたはpm2/forever/nodemonなしで(変更された構造の)twigページを再読み込みするために速達ではできません。 –

関連する問題