node.js htm文件

时间:2011-12-13 19:05:32

标签: html node.js response

我有两个问题

我对node.js很陌生,我完成了一些教程。 所有教程都在谈论生成动态HTMl。 但是,有没有办法恢复正常的" HTML文件?

或者我是否必须通过fs读取它并返回readed内容?

3 个答案:

答案 0 :(得分:2)

我的建议是使用express。它使这个东西变得容易。

如果您想在特定路线中执行某些服务器逻辑后呈现HTML文件,您可以随时命名您的html文件.ejs并使用它。

res.render("normalhtml.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访问/.html index.html。

有关详细信息,请参阅: http://expressjs.com/guide.html

答案 1 :(得分:1)

Node没有提供自动提供HTTP文件的方法,所以是的,您必须自己读取文件并输出。但是,有很多事情你可以做错,还有很多事情要考虑,所以我会考虑使用为静态文件服务制作的模块,如Paperboy或{{3 }}

答案 2 :(得分: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,它有引擎盖。

相关问题