巧婦難為無米之炊。要學習node.js,當然必須先有node.js環境(可以去官網 http://nodejs.cn/ 下載安裝),如果還是不懂怎么配置開發環境,度娘會告訴你一切。
安裝完成環境之后,先別急着開發。在開發之前,為了更清晰的掌握接下來我們的第一個應用的代碼邏輯,我們還需要了解一下node.js 應用的基本組成成分,如下:
1. 引入 required 模塊:我們可以使用 require 指令來載入 Node.js 模塊。
2. 創建服務器:服務器可以監聽客戶端的請求,類似於 Apache 、Nginx 等 HTTP 服務器。
3. 接收請求與響應請求 服務器很容易創建,客戶端可以使用瀏覽器或終端發送 HTTP 請求,服務器接收請求后返回響應數據。
到了這里,開發環境搭好了,基本的開發思路也有了,那我們就可以開始我們的第一個node.js應用的開發了。既然所有所有程序員在學習一門新的開發語言的第一個程序都是輸出“hello world”,那我們也來創建一個輸出“hello world”的node.js應用吧。
步驟一:
創建一個js腳本文件,用來存放我們的node.js代碼。以我為例,我創建了叫helloworld.js的nodejs腳本。
步驟二:
使用 require 指令來載入 http 模塊(模塊API地址:http://nodejs.cn/api/http.html),並將實例化的 HTTP 賦值給變量 http,實例如下:
//引入http模塊 const http = require('http');
步驟三:
使用 http.createServer() 方法創建服務器,並使用 listen 方法綁定8080端口和ip地址。 函數通過req, res參數來接收和響應數據。
使用到的http的相關API如下:
node.js代碼:
//定義監聽的ip const hostname = '127.0.0.1'; //定義監聽的端口 const port = 8080; //創建一個服務 //req用來接受客戶端數據 //res用來向客戶端發送服務器數據 const server = http.createServer((req, res) => { //連接成功后向客戶端寫入頭信息 res.writeHead(200, {'Content-Type': 'text/plain'}); //正文部分,顯示給客戶端 res.write('Hello World'); res.end(); }); //監聽ip地址和端口號 server.listen(port, hostname, () => { console.log(`服務器運行在 http://${hostname}:${port}/`); });
上述代碼也可以簡寫成:
const server = http.createServer(function(req,res){ res.writeHeader(200,{ 'content-type' : 'text/plain'}); res.write('Hello World'); res.end(); }).listen(8080,'127.0.0.1',()=>{console.log("服務器已經運行在http://127.0.0.1:8080")});
以上代碼我們完成了一個可以工作的 HTTP 服務器。現在我們就可以來看看運行效果了。使用 node 命令執行以上的代碼:
node helloworld.js
瀏覽器訪問效果:
至此,我們的第一個基於node.js的應用就做完了。