一、安装express

cnpm || npm  install express --save ;

1. Hello  World

var express = require('express');

var app = express();

app.get('/',function(req,res){
res.send('hello world');
}); var server = app.listen('3000',function(){
var host = server.address().address;
var port = server.address().port; console.log('server start localhost',host,port);
})

2.express路由

var express = require('express');

var app = express();

//http://localhost:3000/
app.get('/',function(req,res){
res.send('hello world');
});
//http://localhost:3000/user.html
app.get('/user.html',function(req,res){
res.sendFile(__dirname + '/' + 'user.html');
});
//http://localhost:3000/index.html
app.get('/index.html',function(req,res){
res.sendFile(__dirname + '/' + 'index.html')
});
/*
*其实每个路由对于着每个方法,把 req() => 请求的api 看懂
*
* 把 res(); => 的api 看会。就知道怎么和服务端交换啦。
*
* 当客户端发送AJAX请求的时候,其实就是方法的每个方法。
*
*/ var server = app.listen('3000',function(){
var host = server.address().address;
var port = server.address().port; console.log('server start localhost',host,port);
})

3.静态资源 app.user(express.statice('public'));

var express = require('express');

var app = express();

//设置静态资源的位置

app.use(express.static('public'));

//http://localhost:3000/img/1.jpg

//public/img/1.jpg
var server = app.listen('3000',function(){
var host = server.address().address;
var port = server.address().port; console.log('server start localhost',host,port);
})

二、express的中间件

1.应用级中间件

var express = require('express');

var app = express();

// 没有挂载路径的中间件,应用的每个请求都会执行该中间件
app.use(function(req,res,next){ console.log('应用级中间件');
console.log('time' + Date.now());
next();
}) app.get('/',function(req,res){
res.send('我是 根路径')
}); // 挂载至 /user/:id 的中间件,任何指向 /user/:id 的请求都会执行它
app.get('/user/:id',function(req,res,next){
console.log('我是 user路由上面的子中间件'); next();
});
app.get('/user/:id',function(req,res){
var id = req.params.id; res.send(id);
}); app.get('/method/:id',function(req,res,next){
console.log('methos路径的参数',req.params); next();
},function(req,res,next){
console.log('methods路径的第二个参数',req.method)
next();
}) app.get('/method/:id',function(req,res){
var path = req.route; res.send(path);
});
var server = app.listen('3000',function(){
var host = server.address().address;
var port = server.address().port;
console.log('server start localhost',host,port);
})

2.路由级中间件 express.Router();

var express = require('express');
var router = express.Router();
var app = express(); router.use(function(req,res,next){
console.log(req.path);
next()
}); router.get('/user/:id',function(req,res,next){
console.log(req.originalUrl);
next();
}) router.get('/user/:id',function(req,res){
res.send(req.params);
})
app.use('/',router)
var server = app.listen('8080',function(){
console.log('start')
});

3.错误级中间件

var express = require('express');
var app = express(); app.use(function(error,req,res,next){
res.status('500').send('something error');
}) var server = app.listen('3000',function(){
console.log('server start');
})

4.静态资源中间件 express.static();

三、模板引擎

1.安装jade模板引擎,cnpm || npm install jade --save

var express = require('express');
var app = express(); app.set('views','./views');
app.set('view engine','jade'); app.get('/',function(req,res){
res.render('index',{title:'jade',message:'模板引擎'})
}); var server = app.listen('3000',function(req,res){
console.log('server start');
})

2.view 下面的index.jade

html
head
title!= title
body
h1!= message

express入门学习(一)的更多相关文章

  1. 1.Express入门

    Express提供了轻量级框架,把Node.js的http模块功能封装在接口中. 也扩展了http模块功能,处理服务器路由,响应,cookie和HTTP请求的状态. 实现Express充当服务器,设计 ...

  2. cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例

    cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...

  3. node.js Web应用框架Express入门指南

    node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...

  4. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

  5. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

  8. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  9. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

随机推荐

  1. 【转载】CString、BSTR和LPCTSTR之间的区别

    原文:http://www.cnblogs.com/GT_Andy/archive/2011/01/18/1938605.html 一.定义 1.CString:动态的TCHAR数组.它是一个完全独立 ...

  2. C++实现tar包解析

    tar(tape archive)是Unix和类Unix系统上文件打包工具,可以将多个文件合并为一个文件,使用tar工具打出来的包称为tar包.一般打包后的文件名后缀为".tar" ...

  3. 【CQOI2014】数三角形

    题面 题解 考虑使用总数减去不合法的数量 首先将\(n, m\)都加上\(1\),将网格变成坐标系 总数即为\(\large\binom{n\times m}{3}\) 不合法的有三种情况: 三个点在 ...

  4. Security1:登录和用户

    授予权限的思路,可以用一句话来概括,那就是:授予 Principal 操作 Securable 的 Permission,在多数文档中,把 Principal 翻译为安全主体,Securable翻译为 ...

  5. Python调用matplotlib实现交互式数据可视化图表案例

    交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会比较大,但是, ...

  6. 复杂值vs原始值&&内存空间

    写在前面 最近在读<JavaScript启示录>,这本书不是JavaScript的详尽的参考指南,但是把对象作为了解JavaScript的透镜,受益匪浅. 那么我们先来聊一下JavaScr ...

  7. senlenium使用

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  8. PLSQL面向对象

    ```sql --定义可被SQL语句调用的子程序 create or replace function getempdept(       p_empno emp.empno%type )return ...

  9. Tomcat之初识初体验

    1.what's this? Stable performance, free Java web application server! 相关: Java,Javac,JVM,JRE,JDK,Java ...

  10. 深入理解Java类加载器(ClassLoader) (转)

    转自: http://blog.csdn.net/javazejian/article/details/73413292 关联文章: 深入理解Java类型信息(Class对象)与反射机制 深入理解Ja ...