我很难理解node.js如何提供动态内容。假设我们有以下代码来呈现主页:
因此,理想情况下,home.html只是一个模板页面,在其中您可以在路由处理程序中设置用户的个人资料图片、姓名等等。因为node的理念是,这个app.js应该能够在运行时从数据库中处理动态内容。我遇到的问题是,我不太明白如何使用node渲染动态页面。HTML页面是静态页面。你不能真正地呈现PHP或ASP页面,因为那并没有什么意义,对吧?这就让我有了一个问题,它是如何完成的?
var express = require('express'),
app = express();
app.get('/', function(req,res){
res.render('home.html');
});
然而,假设这个首页应该是一个用户资料页面,你需要从数据库中获取用户信息,这会产生以下代码:
var express = require('express'),
mongoose = require('mongoose'),
app = express();
mongoose.connect('mongodb://localhost/ExampleDB');
app.get('/:id', function(req,res){
User.findOne({_id: req.id}, function (err, user){
var name = user.name;
var profilePic_uri = user.profilePic_uri;
res.render('home.html');
});
因此,理想情况下,home.html只是一个模板页面,在其中您可以在路由处理程序中设置用户的个人资料图片、姓名等等。因为node的理念是,这个app.js应该能够在运行时从数据库中处理动态内容。我遇到的问题是,我不太明白如何使用node渲染动态页面。HTML页面是静态页面。你不能真正地呈现PHP或ASP页面,因为那并没有什么意义,对吧?这就让我有了一个问题,它是如何完成的?