10分鐘學會用nodejs開發Web伺服器

weixin_34326429發表於2018-12-08

這個教程能讓您在短短10分鐘之內,從對nodejs一點基礎也沒有到能用nodejs開發一個最簡單的Web伺服器。這個教程是在Windows 10作業系統裡寫的。

10902189-f1accd1b8a0eaf08
web前端學習扣qun:584226069免費領取全套教學視訊資料!

1. 登入網站https://nodejs.org/en/,下載nodejs安裝檔案。

10902189-ebb1305be5dc9232
web前端學習扣qun:584226069免費領取全套教學視訊資料!

雙擊進行安裝,這個安裝包會自動幫您完畢之後用cmd開啟命令列介面,輸入node -v檢視安裝好的nodejs版本。

10902189-c92ac5931d3f881a
web前端學習扣qun:584226069免費領取全套教學視訊資料!

2. 在電腦上新建一個資料夾,比如nodejsServer。新建一個檔案Server.js, 將如下程式碼貼上進去:

var express = require('express');

var app = express();

app.listen(3000, function () {

console.log('Listening on port, process.cwd(): ' + process.cwd() );

});

10902189-6c7710c3fc27d9c8
web前端學習扣qun:584226069免費領取全套教學視訊資料!

Express是一個基於nodejs平臺的web 開發框架,我們在第一行程式碼直接通過require匯入到我們的Server.js裡,然後就可以直接用了。第四行意思是我們的Web伺服器在埠3000上監聽網路請求。

使用命令列node Server.js啟動我們的Web伺服器,然後能看到第5行程式碼列印的日誌,說明伺服器已經成功開始在3000埠監聽了:

10902189-0d212a4ed7411f5c
web前端學習扣qun:584226069免費領取全套教學視訊資料!

使用windows cmd裡的命令列,netstat -ano | find "3000", 也確實能看到有一個程式監聽在3000埠上。

10902189-4f5206d44c155a97
web前端學習扣qun:584226069免費領取全套教學視訊資料!

但是現在我們的Web伺服器還無法真正響應任何Web請求,所以我們需要繼續開發。

新增如下第4行到第6行程式碼,再用node server.js重啟Web伺服器。這三行的程式碼是,一旦有網路請求通過HTTP GET的方式,以路徑/jerryget訪問我們的Web伺服器,則返回一個文字響應"this is a GET request":

10902189-bfb3e9429f018017
web前端學習扣qun:584226069免費領取全套教學視訊資料!

使用http://localhost:3000/jerryget進行測試:

10902189-283719575e298a15
web前端學習扣qun:584226069免費領取全套教學視訊資料!

相應的,如果把get方法改成post方法,則可以響應HTTP POST請求。

10902189-f45e0ed02a0ee582
web前端學習扣qun:584226069免費領取全套教學視訊資料!

使用url http://localhost:3000/jerrypost,在postman裡進行測試。

10902189-eb8985d1a4f2104b
web前端學習扣qun:584226069免費領取全套教學視訊資料!

如果想在這個web伺服器上部署一些網頁供外部訪問,也是非常容易的。直接在server.js裡再新增一行程式碼:

app.use('/page', express.static(process.cwd());

然後在server.js所在的資料夾裡,新建一個index.html, 內容如下:

<html>

<p>Hello World</p>

</html>

重啟Web伺服器,用url http://localhost:3000/page/index.html 測試,就能訪問我們開發的網頁了:

10902189-c72866129617f559
web前端學習扣qun:584226069免費領取全套教學視訊資料!

整個server.js的實現只有16行程式碼,但是這個Web伺服器具備了監聽請求,響應HTTP GET和POST請求,響應網頁請求這些作為Web伺服器應該具備的核心功能。這個例子讓您在短短10分鐘之內即可學會nodejs的Web伺服器開發。

10902189-8e33df358d3c93bb
web前端學習扣qun:584226069免費領取全套教學視訊資料!
10902189-a5b6389a9efeff6d

相關文章