データベース (MongoDB) から JADE を解析する必要があるシナリオがあります。
「メソッド」findByTitle を使用してデータ アクセス クラスを作成し、必要な JADE データを返しましたが、動作します。
app.get('/something', function (req, res) {
blogProvider.findByTitle('Structure', function(error, blog){
if (error) {
console.log('Trying to find blog by title, an error has occured ' + error);
} else {
var jade = require('jade');
var fn = jade.compile(blog.body, {filename:'structure.jade'});
var html = fn();
res.send(html);
}
});
});
上記は、DB からオンザフライで JADE を正常にコンパイルし、正しく返します。私が抱えている問題は、DB 内の JADE に拡張またはインクルード (私の場合は必要) がある場合、それらはコンパイルされないことです...
すべての拡張とインクルードを手動で保存し、すべてのインデントを自然に修正する以外に、JADE を「コンパイル」してコンパイラに拡張とインクルードを取り込む方法はないようです。
上記のように、コンパイラが他の必要なファイルを見つけることができるように、有効ではあるが「ダミー」ファイルを提供しようとしました。私はドキュメントを調べましたが、これを回避する方法が見つかりませんでした。何かアイデアはありますか?