我在寫componer的過程當中,但願提供一個本地服務器,用來實現preview功能,所以粗淺的學習了express的用法,而且發現它多是最簡單最好用的輕便服務器框架了。這篇文章就向入門級的同窗介紹一下如何用express搭建本身的最簡單的服務器。php
不管是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爲前端開發人員帶來了最大的便利,這樣,咱們也能夠在服務端根據本身的須要寫想要的服務了。