Sep 13, 2012 -
node.js
No Comments


Node.js Express.js 学习笔记(2)
动态路由的匹配,假设我们有这样一根路径 /user/[username], 每次输入的username都不一样,我们要在页面上打出不同的用户名。
在app.js添加以下代码:
app.get('/user/:username', function(req,res){ res.send('username: ' + req.params.username); });
启动app.js, 访问 http://127.0.0.1:3000/user/aresli,
可以看到页面上出现了 username: aresli
这样的代码明显耦合度太高,不便于维护。也没有用到模板。一看就是屌丝代码。把这段代码改成高帅富专用的模板引擎。
app.js里改成:
app.get('/user/:username', routes.username);
在./routes/index.js里添加:
exports.username = function(req, res){ var time = new Date(); res.render('username', { title: 'now and username', time: time, username: req.params.username }); };
在 ./views/ 文件夹下新增一个叫 username.ejs 的文本文件,代码如下:
<!DOCTYPE html> <html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <p>now: <%= time %></p> <p>username: <%= username %></p> </body> </html>
然后重新启动app.js, 访问 http://127.0.0.1:3000/user/aresli,我们可以看到:
ps: 改ejs模板是不需要重启app.js的