Fast, unopinionated, minimalist web framework for Node.js
快速、独立、极简的 Node.js Web 框架。
1.
npm install -g express-generator
安装生成器
2.
express --view=pug myapp
生成应用, 一些404页面, 静态资源目录帮我们做好了, 使用 handlebars 作为模板引擎, 关于handlebars其实是一个非常简单的模板引擎
感兴趣可以去查阅相关资料
//路径匹配
//1.匹配 /abcd
app.use('/abcd', (req, res, next) => {
console.log('/abcd');
next();
});
//2.匹配 /abcd /abd
app.use('/abc?d', (req, res, next) => {
console.log('/abc?d');
next();
});
//3.匹配 /abcd /abbcd /abbbbbbcd
app.use('/ab+cd', (req, res, next) => {
console.log('/ab+cd');
next();
});
//4.匹配 /abcd /abxcd /abxxxxxcd
app.use('/ab*cd', (req, res, next) => {
console.log('/ab*cd');
next();
});
//5.匹配 /abcd /ad
app.use('/a(bc)?d', (req, res, next) => {
console.log('/a(bc)?d');
next();
});
//6.正则匹配 /abc开头的路径 或 /xyz开头的路径
app.use(/\/abc|\/xyz/, (req, res, next) => {
console.log('正则匹配');
next();
});
//7.数组匹配 /abc /xyz 开头的路径
app.use(['/abc', '/xyz'], (req, res, next) => {
console.log('数组匹配');
next();
});
app.use(/.*/, (req, res, next) => {
res.json({ over: true });
});
//一些输出
app.use('/login/:path/:name', (req, res, next) => {
console.log(req.baseUrl, 'baseUrl');
console.log(req.body, 'body');
console.log(req.cookies, 'cookie');
console.log(req.fresh, '客户端是否有缓存');
console.log(req.hostname, 'client hostname');
console.log(req.ip, 'client ip');
console.log(req.method, 'method');
console.log(req.path, 'path');
console.log(req.params, 'params');
console.log(req.get('Content-Type'), 'header["content-type"]');
console.log(req.is('json') === 'json', 'req.header["content-type"] is json');
console.log('over ! ! !');
res.json({ msg: 'please login' });
next();
});
