Express without任意のテンプレートエンジンを使用できますか?
[〜#〜] updated [〜#〜]
sendFile がクライアント側のキャッシュのみを提供するという懸念があるかもしれません。サーバー側でキャッシュを作成し、OPの質問とインラインに保つには、 send を使用してテキストだけを返信する方法があります。
res.send(cache.get(key));
以下は3年以上前の元の回答です。
PavingWaysの代替の回答をお探しの場合は、次のこともできます。
app.get('/', function(req, res) {
res.sendFile('path/to/index.html');
});
書く必要はありません:
app.use(express['static'](__dirname + '/public'));
はい、
app.get('/', function(req, res){
res.render('index.html');
});
うまくいくはず
新しいエクスプレスプロジェクトでヒスイを使わずに通常のHTMLをすぐに使用する必要がある場合は、これを行うことができます。
index.html
をビューフォルダーに追加します。
app.js
変更
app.get('/', routes.index);
に
app.get('/', function(req, res) {
res.sendfile("views/index.html");
});
代わりにこれを使用してください。説明については、以下のコメントセクションを参照してください。
app.get('/', function(req, res) {
res.sendFile(__dirname + "/views/index.html");
});
次のように、Expressを使用して静的ファイルを自動的に提供できます。
// define static files somewhere on top
app.use(express['static'](__dirname + '/your_subdir_with_html_files'));
実際、これはexpress.static(...)である必要がありますが、バージョン上でJSLintを渡すこともできます;)
次に、サーバーを起動して、リッスンします。ポート1337で:
// app listens on this port
app.listen(1337);
Expressは、次のように/ your_subdir_with_html_files内の静的ファイルを自動的に提供します。
メインファイルで:
app.get('/', function(req, res){
res.render('index');
});
Index.jadeファイルには次のもののみを含める必要があります。
include index.html
index.htmlは、作成した生のHTMLです。
これはすべて時代遅れです-3x、4xの正解は
ここでの2番目の回答: Render basic HTML view?