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下DNS缓存问题浅析
Nov 16 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
Jul 05 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
Sep 06 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
Aug 26 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 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
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP 创建文件(文件夹)以及目录操作代码
2010/03/04 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
php引用传值实例详解学习
2013/11/06 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JavaScript的目的分析
2007/01/05 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
Python中运算符"=="和"is"的详解
2016/10/08 Python
python实现简易云音乐播放器
2018/01/04 Python
python远程连接MySQL数据库
2019/04/19 Python
简单了解python的break、continue、pass
2019/07/08 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
python 消费 kafka 数据教程
2019/12/21 Python
python实现磁盘日志清理的示例
2020/11/05 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
幼儿园中班下学期评语
2014/04/18 职场文书
安全员岗位职责
2015/02/10 职场文书
2019大学生预备党员转正思想汇报
2019/06/21 职场文书