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 相关文章推荐
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
Nodejs中 npm常用命令详解
Jul 04 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
NodeJS链接MySql数据库的操作方法
Jun 27 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
详解Nodejs内存治理
May 13 NodeJs
NodeJS服务器实现gzip压缩的示例代码
Oct 12 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
Nodejs异步流程框架async的方法
Jun 07 NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 NodeJs
NodeJs实现简易WEB上传下载服务器
Aug 10 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使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP网络操作函数汇总
2015/05/18 PHP
百度地图API使用方法详解
2015/08/25 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
说一说Python logging
2016/04/15 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
初中生学习的自我评价
2013/11/14 职场文书
迎接领导欢迎词
2014/01/11 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
毕业横幅标语
2014/10/08 职场文书
如何写通讯稿
2015/07/22 职场文书