web-dev-qa-db-ja.com

Node.js + Jadeを使用しないExpress

Express without任意のテンプレートエンジンを使用できますか?

42
prog keys

[〜#〜] 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'));
15
Robert Brisita

はい、

app.get('/', function(req, res){
  res.render('index.html');
});

うまくいくはず

30
Marcel M.

新しいエクスプレスプロジェクトでヒスイを使わずに通常の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"); 
});
7
JGallardo

次のように、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内の静的ファイルを自動的に提供します。

http:// localhost:1337/index.html

http:// localhost:1337/otherpage.html

3
Rocco

メインファイルで:

app.get('/', function(req, res){
    res.render('index');
});

Index.jadeファイルには次のもののみを含める必要があります。

include index.html

index.htmlは、作成した生のHTMLです。

2

これはすべて時代遅れです-3x、4xの正解は

ここでの2番目の回答: Render basic HTML view?

2
Dan