我有两个问题
我对node.js很陌生,我完成了一些教程。 所有教程都在谈论生成动态HTMl。 但是,有没有办法恢复正常的" HTML文件?
或者我是否必须通过fs读取它并返回readed内容?
答案 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,它有引擎盖。