NodeJS:提供动态文件服务

3
我习惯于使用 PHP,其中代码放在文件中,并在每次加载时执行。
使用 NodeJS,我需要使用 HTML 文件,但需要在文件内进行计算。一种解决方案是将整个文件的 HTML 内容放入运行 HTTP 服务器的文件中,但我希望它们保存在文件中。
我正在使用 NodeJS 和 Express。这应该如何实现?

在你的 Node 应用程序内部完成你的工作。这就是整个重点。 - Brad
3
也请参考:https://dev59.com/L3I-5IYBdhLWcg3wkJQA,也许那就是你要找的? - Brad
我会这样做,但如果我正在提供大量 HTML 文件,则更愿意将它们放在目录中并从那里提供。 - hexacyanide
你仍然可以这样做!那绝对是被鼓励的。 - Brad
2个回答

2
如果您正在使用express并且想呈现HTML文件,应该使用ejs作为模板引擎。以下是从头开始的操作方法:
使用express -e启动一个新项目。
告诉express使用ejs来呈现HTML文件:
app.configure(function(){
  // ... 
  app.set('views', __dirname + '/views');
  // app.set('view engine', 'ejs');
  app.engine('html', require('ejs').renderFile);
  // ...
});

创建路由:
app.get("/", function(req, res) {
  res.render("your.html", {
    title: "This is plain HTML rendered with ejs"
  })
})

最后,将your.html文件放在views文件夹中。

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
  </head>
  <body>
    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>
  </body>
</html>

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接