日期:2014-05-16 浏览次数:20829 次
在上一篇中,我已经实现了如下管理功能,
?
注意:
本片内容不太适合Express3.x, 建议参考附件中的 nodeblog_express3.x.zip Demo来看
?
?
?
本片介绍如何使用express为nodeblog带来404错误处理
?
path模块提供一些处理文件路径的功能,采用require('path')来使用。这里我只使用到两个方法:
?
1). path.normalize(strPath)
将路径标准化, 如'/etc//hosts', 会被标准化成'/etc/hosts'
'/' 分隔符,如果在windows环境中会转换成'\'
?
2). path.exists(filePath, function(exists))
判断路径是否存在,true: 存在, false: 不存在,该方法还有个同步版: path.existsSync(filePath):boolean
1).?什么是路由?
例如下面代码可以截获 '/users/:id' url, 其中id是url参数 (REST-ful url! You are right!)
?
app.get('/users/:id', function (req, res, next) {
res.send('id:' + req.params.id)
res.end();
})?
用 curl 看一下效果:
?
?
? 2). 使用next做路由控制:
当一个url可以被多个路由匹配,则在response关闭前,调用next()进行路由跳转
?
app.get('/users/:id', function (req, res, next) { console.log('id: ' + req.params.id); next(); }) app.get('/users/*', function (req, res, next) { console.log('list all user'); res.send('list all users \n'); })
? 调用next()做路由跳转, 跳转规则按照app.get声明顺序执行。
?
提高对 public/* 资源路由的优先级:
?
var express = require('express'); var app = module.exports = express.createServ