解析Node.js v6.9.5官方文檔的第一個例子的知識點

這段代碼是nodejs界的「hello word」,使用nodejs搭建了服務器並返回「hello word」。javascript

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

知識點:html

  • const:ES6中新增的const關鍵字,const是常量(contsant)的縮寫,專門用來聲明一個常量。
    • 不可修改
    • 塊級做用域
    • 不存在變量提高,必須先聲明後使用
    • 不可重複聲明同一個變量
    • 聲明後必須賦值
  • =>:=>是ES6語法中的arrow function,例如:
    • (x) => x + 6

      至關於    java

    • function(x){
          return x + 6;
      }

       

  • http:使用 HTTP 服務器和客戶端必須 require('http')。Node.js 中的 HTTP 接口被設計爲支持以往較難使用的協議的許多特性。 Node.js 的 HTTP API 是很是底層的。 它只涉及流處理和消息解析。 它把一個消息解析成頭部和主體,但它不解析具體的頭部或主體。node

  • http.createServer([requestListener]):返回一個新建的 http.Server 實例。express

  • server.listen([port][, hostname][, backlog][, callback]):開始在指定的 port 和 hostname 上接受鏈接。 若是省略了 hostname,則當 IPv6 可用時,服務器會接受任何 IPv6 地址(::)的鏈接,不然接受任何 IPv4 地址(0.0.0.0)的鏈接。 省略 port 參數或使用端口值 0,則操做系統會分配一個隨機的端口,該端口可在 'listening' 事件已被觸發後經過使用 server.address().port 獲取。api

    要監聽一個 UNIX socket,須要提供文件名而不是端口和主機名。服務器

    backlog 是等待鏈接的隊列的最大長度。 實際長度由操做系統經過 sysctl 設置決定,好比 Linux 上的 tcp_max_syn_backlog 和 somaxconn。 該參數的默認值是 511(不是 512)。異步

    該函數是異步的。 callback 會被添加到 'listening' 事件的監聽器中。socket

    注意,server.listen() 方法可能被屢次調用。 每次調用都會使用提供的選項從新打開服務器。tcp

  • ${expression}:ES6中的模版字符串語法。

 

參考:

  1. https://nodejs.org/dist/latest-v6.x/docs/api/synopsis.html【Node.js v6.9.5 Documentation】
  2. http://nodejs.cn/api/http.html#http_http_createserver_requestlistener【Node.js 6.9.5 文檔】
  3. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals【Template literals】
  4. http://www.cnblogs.com/telnetzhang/p/5639949.html【ES6 — 新增關鍵字let、const】
相關文章
相關標籤/搜索