2011-12-13 7 views
0

私は2つの問題が発生しましたnode.js htmファイル

私はnode.jsの新機能です。私はいくつかのチュートリアルで作業しました。 すべてのチュートリアルでは動的なHTMlの生成について説明しています。 "通常の" HTMLファイルを返す方法はありませんか?

または、私はfsから読み込んで読み込んだコンテンツを返さなければなりませんか?

答えて

2

私の提案はexpressです。このことは簡単です。

特定のルートでサーバーロジックを実行した後にHTMLファイルをレンダリングする場合は、常にhtmlファイルの名前を.ejsにして使用します。

expressに.ejsファイルを.htmlファイルとして読み込ませるように指定することもできます。

app.set('view engine', 'html'); 
app.register(".html", require("ejs") 
res.render("normalhtml.html") 

しかし、おそらく静的なhtmlファイルを置く場所がほしいです。その場合、人々が話している接続静的ミドルウェアを使用してください。表現するために組み込まれています。

app.use(express.static(__dirname + '/public')); 

たとえば、/ index.htmlが/または/index.htmlでアクセスできるようになると、パブリックフォルダ内のすべてのものにアクセスできます。詳細情報については

は、以下を参照してください。 http://expressjs.com/guide.html

+0

は、Windowsのためのaviable表現しますか? –

+0

私はそれが本当かどうかは確信しています。 Windows上で動作していないこのバグは、起動するのに適しているかもしれません。 https://github.com/visionmedia/express/pull/795 –

1

ノードは自動的にHTTPファイルを自動的に配信する方法を提供していないので、自分でファイルを読み込んで出力する必要があります。しかし、あなたが間違って考えることがたくさんありますので、の静的ファイルサービスのモジュールをPaperboyまたはConnect's static middlewareのように使用することを検討します。

1

静的ファイルサーバーが必要ですが、十分です。 connect-staticをご覧ください。モジュールを提供

その他のファイル:

https://github.com/felixge/node-paperboy
https://github.com/cloudhead/node-static

ここでは完全なリストである:

https://github.com/joyent/node/wiki/modules#wiki-web-frameworks-static

また、あなたが一緒に、より完全なフレームワークを持っているしたい場合ファイル提供では、Expressを使用することをお勧めします。接続はフードの下にあります。

関連する問題