Express 总结
执行:npm install -g express-generator

我们可以查看express的版本,通过npm ls查看express和它的依赖的树形结构

var express=require('express');
var app=express();
app.listen(8080);
var express=require('express');
var https=require('https');
var http=require('http');
var fs=require('fs');
var options={
host:'127.0.0.1',
key:fs.readFileSync('ssl/server.key'),
cert:fs.readFileSync('ssl/server.crt')
};
http.createServer(app).listen(80);
https.createServer(options,app).listen(443);
app.get('/',function(req,res){
res.send('Hello, Express');
});
app.get(path,[middleware],callback)
app.post(path,[middleware],callback)
app.all('*',function(req,res){
//全部路径的全局处理程序
});
var express=require('express');
var url=require('url');
var app=express();
app.get('/find',function(req,res){
var url_parts=url.parse(req.url,true);
var query=url_parts.query;
res.send('Finding Book:Author: '+query.author+' Title: '+query.title);
});
app.get(/^\/book\/(\w+)\:(\w+)?$/,function(req,res){
res.send('Get Book: Chapter: '+req.params[0]+' page: '+req.params[1]);
});
app.get('/user/:userid',function(req,res){
res.send('Get User: '+req.param('userid'));
});
app.param(param,function(req,res,next,value){})
app.get('/json',function(req,res){
app.set('json spaces',4);
res.json({name:'bob',built:'1223',centers:['art','maths']});
});
app.get('jsonp',function(res,req){
app.set('jsonp callback name','cb');
res.jsonp({name:'bob',built:'1223',centers:['art','maths']});
});
res.sendFile(path,[options],[callback])
app.get('/image',function(req,res){
res.sendFile('arch.jpg',{maxAge:1, //24*60*60*1000
root:'./views'},
function(err){
if(err){
console.log('Error');
}else{
console.log('Success');
}
});
});
res.download(path,[filename],[callback])
res.redirect(path);
app.get('/google',function(req,res){
res.redirect('http://google.com');
});
var express = require('express');
var app = express();
var index = require('./routes/index');
var users = require('./routes/users');
app.use('/', index);
app.use('/users', users);
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.send('hello,index');
});
module.exports = router;
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;

运行结果:



router.get('/ab*cd',function(req,res){
console.log('/ab*cd GET请求');
res.send('正则匹配');
});

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form method="post" action="http://localhost:3000/">
<input type="submit" value="访问" />
</form>
</body>
</html>

点击访问后出现:

var app=express();
app.set('views','./views'); //也可以写成app.set('views',path.join(_dirname,'views'));即根目录下的views文件夹下
app.set('view engine','jade');
var express = require('express');
var app = express();
var path = require('path');
//指明模板目录:./views
app.set('views', path.join(__dirname, 'views'));
//使用ejs引擎
app.set('view engine', 'ejs');
var express = require('express');
var router = express.Router();
//寻找views/index,提交ejs渲染,并返回结果
router.get('/', function(req, res, next) {
res.render('index',{title:'express'});
});
module.exports = router;
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>


app.use(express.static(path.join(__dirname, 'public')));

<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>
body {
padding: 50px;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
color: #00B7FF;
}

var express=require('express');
var bodyParser=require('body-parser');
var app=express();
app.use('/',bodyParser());
var express=require('express');
var bodyParser=require('body-parser');
var app=express();
app.get('/parseRoute',bodyParser(),function(req,res){
//function
});
var express=require('express');
var bodyParser=require('body-parser');
var cookieParser=require)('cookie-parser');
var session=require('express-session');
var app=express();
app.use('/',bodyParser()).use('/',cookieParser()).use('/',session());
Express 总结的更多相关文章
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- Express 教程 01 - 入门教程之经典的Hello World
目录: 前言 一.Express?纳尼?! 二.开始前的准备工作 三.测试安装之经典的Hello World 四.使用express(1)来生成一个应用程序 五.说明 前言: 本篇文章是建立在Node ...
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- Node.js Express连接mysql完整的登陆注册系统(windows)
windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...
- Node.js实现RESTful api,express or koa?
文章导读: 一.what's RESTful API 二.Express RESTful API 三.KOA RESTful API 四.express还是koa? 五.参考资料 一.what's R ...
- express全局安装后无法通过require使用
今天入门了一下express,首先安装依赖. npm install express -g; npm install body-parser -g; npm install cookie-parser ...
- 初步认识Node 之Express
通过本文,你会对Express有一个较为具体的了解. 起源 2009年6月26日,TJ Holowaychuk提交了Express的第一次commit,接下来在2010年1月2日,有660次co ...
- 安装nodejs express框架时express命令行无效
我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...
- 从express源码中探析其路由机制
引言 在web开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据.不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的.客户端要发起请求,首先需要一个标识 ...
随机推荐
- Python解析配置文件模块:ConfigPhaser
算是前几周落下的博客补一篇.介绍一下python中如何解析配置文件.配置文件常用的几种格式:xml,json,还有ini.其中ini算是最简单的一种格式,因为小,解析的速度也要比xml和json快(并 ...
- Nginx卸载重装问题
1.删除nginx,-purge包括配置文件 sudo apt-get --purge remove nginx 2.移除全部不使用的软件包 sudo apt-get autoremove 3 ...
- api的使用机制:继承、实例化、实现(继承)配置、实例(参数化)配置、机制管理模块
api的使用机制:继承.实例化.实现(继承)配置.实例(参数化)配置.机制管理模块 facade模式.管理模块
- 关于iOS 3D touch 指纹验证的随笔
file:///Users/OWen/Desktop/3DTouch.png 随着iOS系统不断的更新迭代,苹果总会推出一些新的功能,今天就研究了一下iOS8之后推出的指纹验证的功能,然后写了一个小d ...
- python查看微信消息撤回
准备环境 python语言环境 python解释器-pycharm itchat介绍 itchat是一个开源的微信个人号接口,通过itchat可以实现微信(好友或微信群)的信息处理,包括文本.图片.小 ...
- 二十九、利用 IntelliJ IDEA 进行代码对比的方法
我们会有这样的需求,即:想对比出两个不同版本代码的区别.如何实现? 第 1 种:如果我们是从 SVN 检出的项目,并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别,可以按如下步骤操作, 如 ...
- AngularJS 表单验证小结
注:本文所述的表单验证即AngularJS自带的表单验证,无需引入第三方的插件 一.常用的验证特性标签 1.非空 为input加入一个required属性即可,例如: <input type=& ...
- MATLAB等距扇形反投影分析
MATLAB等距扇形反投影分析 摘要:MATLAB phantom函数产生的Shepp-Logan模型,可以用来验证二维图像重建算法的数值精确度,本文首先据此模型,结合正弦图,讨论平行投影时的极坐标表 ...
- 阿贾克斯(AJAX)
AJAX :Asynchronous JavaScript and XML 异步的javascript 和xml 优点 : 在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分数据 不需要 ...
- 来看看Uber的司机支持服务签到及预约系统的架构设计思路
Uber的Greenlight Hubs(GLH)在全球拥有超过700个分支机构,为合作车主提供从账户和支付到车辆检查和车主注册等各方面的人工支持.为了给合作车主创造更好的体验并提高客户满意度,Ube ...