Like Share Discussion Bookmark Smile

J.J. Huang   2020-01-15   Node.js   瀏覽次數:

Node.js | 第一個 Hello World

Hello World

好了,廢話不多說了,馬上開始我們第一個Node.js應用:Hello World

打開你最喜歡的編輯器,建立一個helloworld.js檔案。
我們要做就是向STDOUT輸出Hello World

如下是實現該功能的程式碼:

1
console.log("Hello World");

儲存檔案,並透過Node.js來執行:

1
node helloworld.js

正常的話,就會在終端輸出Hello World

好了,到這邊就結束了。
才怪!只有這樣的範例應該會被說這樣就想混過去…。

Node.js Web應用

如果我們使用Java來編寫後端的程式時,需要Apache或者其他的HTTP伺服器,並配上各式各樣的framework來實現。

不過對Node.js來說,概念完全不一樣了。使用Node.js時,我們不僅僅在實現一個應用,同時還實現了整個HTTP伺服器。
事實上,我們的Web應用以及對應的Web伺服器基本上是一樣的。

在我們建立Node.js第一個Hello, World應用前,讓我們先了解下Node.js應用是由哪幾部分組成的:

  • 引入required模組:
    • 我們可以使用require指令來載入Node.js模組。
  • 建立伺服器:
    • 伺服器可以監聽客戶端的請求,類似於ApacheNginxHTTP伺服器。
  • 接收請求與回應請求:
    • 伺服器很容易建立,客戶端可以使用瀏覽器或終端發送HTTP請求,伺服器接收請求後返迴回應資料。

Node.js 建立Web應用

使用require指令來載入http模組,並將實例化的HTTP賦值給變量http

1
var http = require("http");

接下來我們使用http.createServer()方法建立伺服器,並使用listen方法綁定8888端口。
函數通過request, response參數來接收和回應資料。

根目錄下建立一個叫server.js的文件,並寫入以下程式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var http = require('http');

http.createServer(function (request, response) {

    // 發送 HTTP 頭部
    // HTTP 狀態值: 200 : OK
    // 內容類型: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});

    // 發送回應資料 "Hello World"
    response.end('Hello World\n');
}).listen(8888);

// 終端印出如下訊息
console.log('Server running at http://127.0.0.1:8888/');

儲存檔案,並透過Node.js來執行:

1
node server.js

開啟瀏覽器輸入http://localhost:8888/

完整範例

分析 Node.js 的 HTTP 伺服器

第一行請求(require)Node.js自帶的http模組,並且把它賦值給http變量。
接下來我們調用http模組提供的函數createServer。這個函數會返回一個對象,這個對像有一個叫做listen的方法,這個方法有一個數值參數,指定這個HTTP伺服器監聽的端口號。


註:以上參考了
Node.js 安装配置
Node.js v12.14.1 Documentation