NodeJS Express框架中处理404页面一个方式


Posted in NodeJs onMay 28, 2014

在用 Express 的时候,路由是我最困惑的事之一。知道用 app.get('*') 可以处理所有页面,但这样除了自定义的其他路由外,静态文件是被忽略的。最近在写一个小工具的时候,找到了一个解决方案:

var express = require('express'),
    router = require('./routes');
    var app = module.exports = express.createServer();
// Configuration
app.configure(function () {
    // ...
    // 别把顺序写反了
    app.use(express.static(__dirname + '/public')); 
    app.use(app.router);
});
// 其他 router ...
// 404
app.get('*', function(req, res){
    res.render('404.html', {
        title: 'No Found'
    })
});

把通配符放于最后处理。这样没有经过路由的所有页面默认由 404.html 来接管。

NodeJs 相关文章推荐
详解nodejs与javascript中的aes加密
May 22 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
nodejs进阶(6)—连接MySQL数据库示例
Jan 07 NodeJs
nodejs 实现钉钉ISV接入的加密解密方法
Jan 16 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
解析NodeJS异步I/O的实现
Apr 13 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
在nodejs中创建child process的方法
Jan 26 NodeJs
跟我学Nodejs(三)--- Node.js模块
May 25 #NodeJs
跟我学Nodejs(二)--- Node.js事件模块
May 21 #NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 #NodeJs
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 #NodeJs
用nodejs实现PHP的print_r函数代码
Mar 14 #NodeJs
nodejs读取memcache示例分享
Jan 02 #NodeJs
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
Nov 18 #NodeJs
You might like
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
2015/05/13 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
python批量制作雷达图的实现方法
2016/07/26 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
对python中return与yield的区别详解
2020/03/12 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
python实现126邮箱发送邮件
2020/05/20 Python
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
初中班主任经验交流材料
2014/05/16 职场文书
工伤事故证明
2014/10/20 职场文书
2014年转正工作总结
2014/11/08 职场文书
爱心捐书倡议书
2015/04/27 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
个人业务学习心得体会
2016/01/25 职场文书
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫