私のアプリケーションでは、いくつかのセッションと関連情報を要求するカスタムJavaScriptを送ることができるAPI(Googleマップのjavascript APIのようなもの)を提供する必要があります。 )を応答として使用します。 javascriptを使用して、いくつかのグラフをUIにプロットします。私はテンプレートエンジンとしてJadeとExpressを使用しています。私は現在使用しているコードは次のとおりです。Express/Node.js:レスポンスとしてカスタムjavascriptをレンダリングする
app.use('/graph',function(req, res){
//send out graph data
var var_name = req.session.var_name //fetch something from session
var graphData = fetchGraphData(req.query.graph); //function that fetches graph data
res.contentType("text/javascript");
res.render(__dirname + '/views/graph.jade', {
title: "Title", queryStr: JSON.stringify({var_name: var_name, graphData: graphData })
});
});
そしてヒスイのファイル:ヒスイが解析されるように回避策として
| some_var_name = {
| initGraph : function(divId){
| //some code here
| var graphData = !{graphData}
| // do something
、私は、|
とヒスイファイルの各行を開始しましたテキストをプレーンテキストとして表示し、HTMLタグを追加しません!それは正常に動作しますが、これを行うクリーナーの方法はありますか?このソリューションは、Jade!を使用する場合と使用しない場合があります。
実際にどれくらいのテンプレートが必要なのですか? 'res.send'を使って必要な文字列を送信することができます。 – TheHippo
@TheHippo:お返事ありがとうございます!しかし、私はファイル内にレスポンスデータを整理したいと思います。そのようなアクションがたくさんあるので、ファイルもかなり長いです! –