初試express

express是什麼?

express 是nodejs一個很著名的框架。 其地位就有點像react在js裏面的地位。就算你不打算使用它,也能夠學習下,取長補短。express的核心就是中間件html

要實現的功能以下node

  1. 建立一個http服務器
  2. 可以返回靜態文件
  3. 可以提供api
var express = require('express');
var app = express();
app.use(function(req, res){
    res.send('hello express!');
});
app.listen(8001,function(){
    console.log('監聽8001端口');
});

ok 上述代碼就實現功能一。默認監聽的本地IP 網址:http://localhost 它對於一切返回值都返回了hello express!
對比於nodejs的hello world.例子。細心的你會發現少了輸入res頭的步驟。res.writeHead(200,xxx),沒錯這是框架已經幫你處理掉的。默認就是200 text/html。固然你也能夠自定義返回頭,res.type()之類,具體請查看api。react

var express = require('express');
var app = express();
app.use(express.static('static', {Mixed: false}));
app.use(function(req, res){
    res.send('hello express!');
});
app.listen(8001,function(){
    console.log('監聽8001端口');
});

圖片描述

你大概須要這樣的文件結構。express.static是express4 目前僅保留的中間件,也是目前惟一保留的一箇中間件(可見其鋼需,與通用)。查看其中源模塊是serve-static。小小的一行中間件其實代碼量仍是很複雜。具體能夠看一篇文章nodejs實現靜態服務器。很細緻全面的說明了一個靜態服務器所要作的事情。
第一個參數'static'是表示靜態文件目錄名字沒有/說明是相對路徑哦 '/static'是絕對路徑,當你路由寫在其餘目錄裏要當心了區分下。
{Mixed: false}是當路徑爲'/'返回靜態文件下的不返回index.htmlexpress

var express = require('express');
var app = express();
app.use(express.static('static', {Mixed: false}));

app.get('/get',function(req, res){
    var data = {msg: '這是get'};
    res.json(data);
});
app.get('/post',function(req, res){
    var data = {msg: '這是post'};
    res.json(data);
});

app.use(function(req, res){
    res.send('hello express!');
});


app.listen(8001,function(){
    console.log('監聽8001端口');
});

這樣就服務器就提供了兩個api接口,地址是'/get'和'/post',返回這時候就是一個json對象。用的方法是res.json()區別於res.send()就是組裝成json格式。 至此就完成了三個基本功能。邁出了第一步!json

相關文章
相關標籤/搜索