NodeJS Express框架中处理404页面一个方式
在用 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初级阶段之express
上一篇<node.js 初体验>写的也不错,感兴趣的朋友可以了解下. Node和NPM的安装够便捷了,不细说...有几点基础顺手提一下: 1.安装命令中的 "-g" 表示全局(global) 2.express的版本不是通常的 "-v" 来查看,而是 "-V" 3.安装express项目的命令如下 express -e nodejs-product -e, --ejs add ejs engine support -J, --jsht
-
nodejs使用express创建一个简单web应用
Express 在初始化一个项目的时候需要指定模板引擎,默认支持Jade和ejs. 这里我们使用ejs模板引擎:(关于ejs的介绍可以先从百科里面了解一个大概) EJS是一个JavaScript模板库,用来从JSON数据中生成HTML字符串. 在使用express创建一个网站的时候,使用ejs模板引擎,建立基本的网站结构,当前目录下使用:express -t ejs sophiehui命令就在当前目录下创建了一个sophiehui的子目录,创建信息如图片所示: 倒数第四行提示我们安装依赖,所以接
-
NodeJS框架Express的模板视图机制分析
模板引擎 Express支持许多模板引擎,常用的有: haml 的实现Haml haml.js 接替者,同时也是Express的默认模板引擎Jade 嵌入JavaScript模板EJS 基于CoffeeScript的模板引擎CoffeeKup 的NodeJS版本jQuery模板引擎 视图渲染(view randering) 视图的文件名默认需遵循"<name>.<engine>"的形式,这里<engine>是要被加载的模块的名字.比如视图layout
-
初识NodeJS服务端开发入门(Express+MySQL)
NodeJS对前端来说无疑具有里程碑意义,在其越来越流行的今天,掌握NodeJS已经不再是加分项,而是前端攻城师们必须要掌握的技能.本文将与同志们一起完成一个基于Express+MySQL的入门级服务端应用,即可以对数据库中的一张表进行简单的CRUD操作.但本人还是斗胆认为,通过这个应用,可以让没怎么接触后端开发的同志对使用Node进行后端开发有一个大致了解. Express工程环境准备 1. 安装express,和express项目种子生成器(什么?你问第1步为什么不是安装NodeJS,我也只
-
Nodejs进阶:基于express+multer的文件上传实例
概览 图片上传是web开发中经常用到的功能,node社区在这方面也有了相对完善的支持. 常用的开源组件有multer.formidable等,借助这两个开源组件,可以轻松搞定图片上传. 本文主要讲解以下内容,后续章节会对技术实现细节进行深入挖掘. 基础例子:借助express.multer实现单图.多图上传. 常用API:获取上传的图片的信息. 进阶使用:自定义保存的图片路径.名称. 环境初始化 非常简单,一行命令. npm install express multer multer --sav
-
Express与NodeJs创建服务器的两种方法
目录 NodeJs创建Web服务器 Express创建Web服务器 NodeJs创建Web服务器 var http = require('http'); var server = http.createServer(function(req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write('hello world!'); res.end(); }).listen(80); 这是一个原生式的创建一个we
-
NodeJS处理Express中异步错误
摘要 比起回调函数,使用 Promise 来处理异步错误要显得优雅许多. 结合 Express 内置的错误处理机制和 Promise 极大地降低产生未捕获错误(uncaught exception)的可能性. Promise 在ES6中是默认选项.如果使用 Babel 转译,它也可以与 Generators 或者 Async/Await 相结合. 本文主要阐述如何在 Express 中使用错误处理中间件(error-handling middleware)来高效处理异步错误.在 Github 上
-
windows下安装nodejs及框架express
以下通过两种方式介绍windows下安装node.js及框架express 第一种方式: 总共分为四步轻松完成Nodejs的Express安装 第一步.安装 所有要先按装express-generator,否则创建项目时,会提示express命令没找到 npm install -g express-generator #需先安装express-generator npm install -g express express -V #验证是否安装成功 第二步.创建项目 $ express myfi
-
Nodejs的express使用教程
Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用. 1.express组织结构 app demo |---node_modules------用于安装本地模块. |---public------------用于存放用户可以下载到的文件,比如图片.脚本.样式表等. |---routes------------用于存放路由文件. |---views-------------用于存放网页的
-
nodejs+express实现文件上传下载管理网站
nodejs+express-实现文件上传下载管理的网站 项目Github地址:https://github.com/qcer/updo 后端:基于nodejs的express的web框架. 前端:bootstrap框架+vuejs.jquery等js库 功能点: dronzone.js实现文件拖拽上传.下载,可自定义传输容量. vuejs实现表格双向数据绑定. jquery.form.min.js表单插件,升级表单,实现表单提交回调. 纯css+jQuery实现一键返回顶部. 简单的ajax异
随机推荐
- js实现符合国情的日期插件详解
- 深入解析Redis中常见的应用场景
- 延长笔记本电脑光驱寿命的十大法则
- 超级硬盘杀手的bat
- 基于BootStrap multiselect.js实现的下拉框联动效果
- javascript中Date对象的getDay方法使用指南
- asp.net Cookie跨域、虚拟目录等设置方法
- Python全局变量操作详解
- 基于python实现微信模板消息
- C语言数据结构之串插入操作
- 关于C/C++中可变参数的详细介绍(va_list,va_start,va_arg,va_end)
- 使用Python操作Elasticsearch数据索引的教程
- JSON无限折叠菜单编写实例
- 图文教程mssqlserver数据库导出到另外一个数据库的方法
- JS 仿Flash动画放大/缩小容器
- 深入理解js promise chain
- JS Array对象入门分析
- js post方式传递提交的实现代码
- 深入apache配置文件httpd.conf的部分参数说明
- Java IO文件过滤器对命令设计模式的使用