kiwiテンプレート エンジンとexpressを使用して、単純な Web アプリを開発しています。ブラウザでアプリを開くと、テンプレートが正しく生成され、結果以外はすべて JSON エンコードされます。res.type('html') を設定しようとしましたが、これはアプリケーションによって送信された MIME のみを変更するようです。私はまだ AJAX リクエストを使用していません。
私は次のコードを持っています:
"use strict";
var express = require('express');
var path = require('path');
var publicDir = path.join(__dirname, 'public');
var app = express();
app.configure(function(){
app.set('views', __dirname + '/view');
app.engine('kiwi', require('kiwi').__express);
app.set('view engine', 'kiwi');
app.use(require('less-middleware')({ src: publicDir }));
app.use(express.favicon());
app.use(express.static(publicDir));
});
app.configure('development', function(){
app.use(express.logger());
});
app.get('/', function(req, res){
res.render('index', {title: 'kiwi'});
});
app.listen(process.env.PORT || 8080);
私はこのようなレイアウトファイルを使用します(読みやすくするためにほとんどのレイアウトhtmlを削除しました):
<div class="container">
{{block content}}{{/block}}
</div>
これは index.kiwi ファイルです:
{{extend 'layout'}}
{{block content}}
<p>Hi ${title}</p>
{{/block}}
これはブラウザに表示されるものです (text/json mime で送信):
"<div class=\"container\">\n\t\n<p>Hi kiwi</p>\n\n</div>"
通常の HTML を送信するにはどうすればよいですか?
更新: OK、私は私のものに似た別のアプリ(express と kiwi の両方を使用) を見つけることができましたが、見つかった唯一の違いはライブラリのバージョンでした。そこで、エクスプレス 3.0.0beta7 をダウンロードしましたが、動作しています。変でしょ?
UPDATE2:バグは 3.0.0rc4 (html 出力) と 3.0.0rc5 (json 出力) の間にあります
UPDATE3:関連する可能性のある変更のみがコミット40be3ed05dと9eb1da4568であり、両方とも接続バージョンを変更するか、おそらく8edf358739であると思います
ここでレポを見ることができます: https://github.com/jtojnar/srs