Node.js_express_搭建一個服務器

 

原生 node 服務器html

1. 導入 node.js 核心模塊  / 自帶模塊 :   httpnode

  • const http = require('http');    // HTTP 庫所具備的功能已經賦給了 http 對象
    const querystring = require('querystring');    // 查詢字符串

2. 經過 http 模塊 的方法建立服務器express

Node 自己就是 Web 服務器npm

// 調用 HTTP 模塊的一個工廠模式方法 http.createServer() 建立新的 HTTP 服務器瀏覽器

// 每當一個新的訪問請求到達 Web 服務器,它都將調用咱們指定的函數方法來處理服務器

// 新建立的 HTTP 服務器並無賦值給任何變量,它只會成爲存活在全局範圍內的匿名對象
// 傳了一個匿名函數做爲參數。此函數綁定在新建立服務器的事件監聽器上,進行 request 事件處理app

  • const server = http.createServer(function (request, response) { // response.writeHead(200, {'Content-Type': 'text/plain'});
            response.setHeader('Content-Type', 'text/html;charset:utf-8'); console.log(request.url); const url = request.url; // const query = url.split('?')[1].split('&')[0]; // username=Ryen
            const query = url.split('?')[1]    // username=Ryen&password=123456
            querystring.parse(query);    // {"username": 'Ryen', "password": '123456'}
        
            // end 方法將會關閉 HTTP 鏈接。但由於咱們同時還傳入了一個字符串
            response.end('Hello World\n');    // end 方法將在把此內容發送給客戶端後才關閉鏈接
    });

回調函數的參數 是兩個對象框架

// 一個是請求的對象 request函數

// 若是在瀏覽器輸入 http://127.0.0.1:8124?username=Ryen&password=123456'性能

// 瀏覽器 會發送個請求給 服務器

// 以 '?' 開頭的字符串,叫作 查詢字符串

// 裏面的每一個字段都是 key=value
// 多個字段以 & 鏈接

// 一個是響應的對象 response    // 調用了 response 對象的幾個方法,這將修改響應結果

// 必須調用 response.writeHead() 或者 response.setHeader() 來設置 HTTP 響應頭
// 設置狀態代碼爲 200(表示 HTTP 狀態代碼「200 OK」),而且傳入一段 HTTP 頭描述

3. 監聽端口號,啓動服務器

  • server.listen(8124, "127.0.0.1"); // 初始化啓動服務器,並告訴它監聽在 8124 端口
    console.log('Server running at http://127.0.0.1:8124/');    // 將在標準輸出 stdout 上打印信息

node.js + express 服務器(進公司通常都是結合框架)

npm init

"name": hello_node_server

npm install express

1. 導入 express 模塊

  • const express =  require('express');

2. 建立 app 應用對象

  • const app = express();

3. 寫業務邏輯:處理請求,返回響應

  • app.get('/', (request, response)=>{ console.log(request.query); response.send('Hello Node Express!'); });

4. 監聽端口號:一個端口號 有且只能運行 一個程序

  • app.listen(3000, err=>console.log(err?err:'服務器啓動成功!'));

根據代碼實時顯示效果

 Node.js 只有在第一次引用到某部份時纔會去解析腳本文件,之後都會直接訪問內存,避免重複載入,

而 PHP 則老是從新讀取並解析腳本(若是沒有專門的優化配置)。

Node.js的這種設計雖然有利於提升性能,卻不利於開發調試,

由於咱們在開發過程當中老是但願修改後當即看到效果,而不是每次都要終止進程並重啓

  • npm install -g supervisor 
  • 或者 yarn global add supervisor
  • supervisor app.js
  • 當代碼被改動時,運行的腳本會被終止,而後從新啓動。
相關文章
相關標籤/搜索