express入门学习(一)

一、安装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
时间: 2024-10-28 23:35:09

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

Developer Express入门

这里从表格GridControl开始,零点零的入门,不会向大神一样写的深奥无比,一看你就会懂的 1.首先拖一个表格上去,点击Run Designer进入Columns编辑页; 2.点击add添加字段,设置fieldName属性绑定字段; 3.在初始化事件里编码 gridControl1.DataSource = list;//绑定数据 //获取选中的数据,绑定的列字段区分大小写,gridView1.FocusedRowHandle为获取选中行的手柄//MessageBox.Show(gridVi

Retrofit 入门学习

Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } 这些注解都有一个参数 value,用来配置其路径,比如示例中的 users/{user}/repos, 我们还注意到在构造 Retrofit

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

[Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

/Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/article/details/52736906 利用nodejs做爬虫 http://www.runoob.com/nodejs/nodejs-callback.html nodejs学习之路 http://www.runoob.com/php/php-tutorial.html php学习之路

JavaSE入门学习24:Java面向对象补充

一Java中的Object类 Object类是所有Java类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认 继承Object类. public class Person{ // } //等价于 public class Person extends Object{ // } Object类中的方法,适合所有子类. 1)toString()方法 在Object类中定义有public String toString()方法,其返回值是String类型,描述当前对

js入门学习

在HTML,CSS学习的最后,开始入门学习javascript, 首先就是去了解它的用途 作用:使web页面能够与用户交互,作为控制浏览器给网页增添活力的方法 定义:它是一种脚本语言,作用于浏览器.和java没有半毛钱关系,主要是当时Netscape公司为了增加影响力改了名,,(是不是感觉很无耻) ps:区分程序的一种方式:1.客户端程序(client-side),像javascript就是,我觉得HTML,CSS应该也是. 2.服务器端程序(server-side),java,perl,php

mybatis入门学习

一.mybaits简介 java程序中常用的数据库框架. 二.mybait入门学习 1.环境 创建一个java或者javaweb项目:我是创建了一个structs项目,helloworld 2.添加相应的jar包

angularjs入门学习【指令篇】

一.首先我们来了解下指令API 属性 含义 restrict 申明标识符在模版中作为元素,属性,类,注释或组合,如何使用 priority 设置模版中相对于其他标识符的执行顺序 Template 指定一个字符串式的内嵌模版,如果你指定了模版是一个URL,那么是不会使用的 tempateUrl 指定URL加载的模版,如果你已经指定了内嵌的模版字符串,那么它不会使用的 Replace 如果为真,替换当前元素,如果是假或未指定,拼接到当前元素 Transclude 移动一个标识符的原始字节带你到一个新

正则表达式入门学习

\b-元字符,代表单词的开头或结尾,也就是单词的分界处. \bHi\b     下列未进行说明的都是元字符. .  匹配除了换行符以外的任意字符. * 指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配.(不包含换行的字符) \bHi\b.*\bLucy\b \d 匹配一位数字(0或1或2......或9)  0\d\d-\d\d\d\d\d\d\d\d - 不是元字符 ,只匹配它本身. 避免重复 0\d{2}-\d{8}  {2}({8})指前面\d必须连续重复匹配2次(8次). \