MVC架构的诞生,模版引擎包含在服务器端,控制器得到用户请求后,从模型获取数据,调用模版引擎,模版引擎以数据和页面模版为输入,生成HTML页面,然后返回给控制器。
由控制器交回客户端。
控制器:routes
页面模板:views
数据/实体:models
修改app.js
将app.set('view engine', 'ejs'); 替换为为如下内容
var ejs = require('ejs');
app.engine('.html',ejs.__express) ;
app.set('view engine', 'html');
修改工程名views下的文件后缀为html
启动nodejs服务
npm start
路由控制
1.创建路由规则
app.js增加
app.use('/pcat',index);
routes/index.js增加
router.get('/pcat',function(req, res){
res.send('The time is ' new Date().toString());
});
2.路径匹配
Express还提供更高级的路径匹配模式
app.use('/user/:username',function(req,res){
res.send('user: ' req.params.username);
});
app.use(path,callback)中的callback既可以是router对象又可以是函数
app.get(path,callback)中的callback只能是函数
3.控制权转移
app.all函数,它支持把所有的请求方法都绑定到同一个相应函数,是一个非常灵活的函数。
app.all('/test/:username',function(req,res,next){
console.log('all method is call');
//我们
在这里验证用户名是否存在。
//如果存在直接send或者调用next(new Error('用户已经存在'));
//如果
不存在我们调用next()把控制权交给下一个路由规则
next();
//res.send('all的路由规则完毕。');
});
app.get
('/test/:username',function(req,res){
res.send("user:" req.params.username)
});
未完待续......................................................................