2分鐘!使用express快速建立一個服務器

我在寫componer的過程當中,但願提供一個本地服務器,用來實現preview功能,所以粗淺的學習了express的用法,而且發現它多是最簡單最好用的輕便服務器框架了。這篇文章就向入門級的同窗介紹一下如何用express搭建本身的最簡單的服務器。php

搭建node環境

不管是windows仍是*nix系統,均可以很是方便的安裝node和npm。windows下只須要安裝node官網提供的.exe執行文件,就能夠把node和npm都安裝好,Linux下通常仍是須要編譯安裝才能保證使用本身想要的版本,npm也須要獨立安裝,npm通常能夠經過apt, yum直接安裝。css

搭建最簡單的服務器

當你有了node以後,你能夠作的事太多了。並且你應該很是熟悉JavaScript,因此,用JavaScript實現之前php,Java們實現的一些功能吧。html

建立一個目錄做爲項目目錄,在裏面建立一個index.js,內容以下:前端

var express = require('express')
var app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

編程的部分就完結了,接下來在命令行裏面進入這個目錄,運行下面命令:node

npm install express
node index.js

這樣服務器就搭建好了,使用瀏覽器訪問localhost:3000就能夠看到"Hello World!"的字樣。nginx

能夠訪問靜態資源

上面的代碼並不能讓你的服務器提供靜態文件服務,也就是說你的圖片和腳本都沒有辦法經過瀏覽器訪問。經過express的中間件能夠輕鬆實現靜態文件服務。express

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

把上面這段代碼加到app.listen以前。在項目目錄下建立public目錄,而且把靜態文件都放進去,從新運行node index.js這個命令。因而,html、圖片也能夠訪問了。npm

開始本身的服務端編程

上面的代碼中,get是路由部分,你能夠根據本身的須要,不斷的添加新的url,在這個新的url返回不一樣的內容。編程

var fs = require("fs")
var cotnent = fs.readFileSync("a.txt")
app.get("/list", function(req, res) {
    res.send(content)
})

把服務器上的某個文件內容顯示給用戶。windows

express還提供post,put,delete等方法,對應restful api的method,所以,node服務器雖然性能上不能運行佔用內存很大的程序,可是能夠用來做爲輕量級請求的中轉服務器。並且npm有不少包,功能完善,能作不少求之不得的服務。例如在項目裏面用npm安裝YUI Compressor,在程序裏require進來。經過post方法加載一個路由,當用戶朝這個url發送js或css代碼時,就把通過壓縮後的代碼返回給用戶。

小結

當node做爲中間服務器愈來愈流行,甚至取代傳統服務器時,咱們之前須要在Apache,nginx和其餘服務端語言,好比php,中間折騰的日子就結束了。經過本文的例子,你能夠很是明顯的感受到,對於express而言,它把服務器和程序完整結合在一塊兒了。node自己不僅僅是服務器,它能夠實現不少意想不到的功能,可是從最初的出發點而言,node就是想實現這樣一個輕量級的服務器。經過簡單幾段代碼就能夠擺脫服務器配置等各類工做,不得不說node爲前端開發人員帶來了最大的便利,這樣,咱們也能夠在服務端根據本身的須要寫想要的服務了。

相關文章
相關標籤/搜索