ディスクから読み込み、書式を解析し、解析されたデータをテンプレートに渡す必要があります。
ディスクからの読み取りは、かなり簡単です。fs.readFile()
を使用してください。
var fs = require('fs');
fs.readFile(filename, 'utf8', function(err, data) {
// do something with "data" here...
});
多分、1回のリクエストで両方のファイルを読み取る必要がありますか?その場合、コールバックをネストする必要があります。また、bluebirdのような約束ライブラリを使用して、コールバックを簡素化することもできます。
var fs = require('fs');
fs.readFile(filename1, 'utf8', function(err, data1) {
fs.readFile(filename2, 'utf8', function(err, data2) {
// ... now parse in here
});
});
データを取得したら、解析する必要があります。あなたの例を考えると、あなたの書式はとてもシンプルです。これを解析する方法は次のとおりです。
var lines = data.split(/\r?\n/);
var title = lines.shift();
var desc = lines.shift();
// or, maybe "lines.join('\n')" to support multiple lines
最後に、テンプレートをクライアントにレンダリングします。 Expressを使用している場合(コード例のみに基づいて指定していない場合)、テンプレート変数をプロパティーとして2番目のパラメーターのres.render()
に渡すことができます。
var fs = require('fs');
app.get('/', function(req, res, next) {
fs.readFile(filename, 'utf8', function(err, data) {
// reading the file failed, report error to the user
if (err) return next(err);
// parse the data
var lines = data.split(/\r?\n/);
var title = lines.shift();
var desc = lines.shift();
// render template
res.render('index', {title: title, desc: desc});
});
});
ファイルを読み取ります。 res.render( 'index'、{title:titleFromFile、desc:descFromFile}); –