Node.js---0一、初識NodeJS和Node.js的HTTP服務器搭建

1、前言javascript

    咱們先從如下幾個方面在大致上認識一下Node.js:html

  • Node.js 是什麼?==> 運行環境java

    • 是一個 能夠運行 並加載 ES語法的 腳本運行環境node

    • JS(ES5)、ES六、Common.js 語法 ……web

  • Node.js 能夠加載各類模塊==> 實現各類功能數據庫

  • Node.js 安裝完成後會集成 核心模塊,可讓 Node.js 運行一些特定的腳本,實現一些功能瀏覽器

    • Node.js 默認加載了 ES 語法的運行環境緩存

    • REPL:可交互式控制檯命令行 ==> 測試服務器

  • Node.js ES 運行環境 基於 Chrome V8 引擎 ++函數

  • Node.js 服務器端運行

    • BOM (window) 的全部方法 沒法運行

    • DOM的全部操做 也沒法運行

  • Node.js 除了運行ES 語法的腳本外,還能夠經過 ES 語法執行其它操做,

    • 例如 數據庫訪問,文件讀寫,緩存處理……

 2、推薦開發工具:VSCode(Visual Studio Code)

 3、Node.js的HTTP服務器搭建

    Node.js的HTTP服務器搭建能夠概括爲三步:

        一、加載服務模塊

            const http = require("http");

        二、建立服務器

            const server = http.createServer(function(request,response){

                ......

            });

        三、啓動服務器並監聽端口

             server.listen(port,callback); //port是端口號,callback是回調函數

    具體代碼以下

// NODE.JS 默認對全部在環境中運行的 js 代碼使用嚴格模式

// 加載 NODE.JS 的核心擴展模塊  http  獲取服務器建立對象
// 一、加載服務模塊
const http = require("http");//const定義常量

// 二、建立服務器
const server = http.createServer(function(request,response){
    console.log("請求到達");
    response.writeHead(200,{//響應頭
		"Content-Type":"text/html;charset=utf-8"//中文編碼
	});
    // 對於服務器的建立
    // 一個請求必有一個相應
    // 一個請求一個相應 相應結束後 須要明確的相應標識
    response.write("<h1>hello node啊<h1>");//響應
    response.end();//結束響應
});

// 三、啓動服務器並監聽端口
// server.listen(port,callback)
/*
    常見的服務及其默認端口
    PHP 80 
    MYSQL 3306
    javaweb 8080
    node.js  3000
*/
server.listen(3000,function(){
    console.log("正在監聽3000端口");
});

    看到上段代碼,做爲初學者,可能會產生不少疑問。好比:

        一、第一步加載服務模塊中的require是什麼?

                require()是commen.js中的語法,將多個 .js 文件合併成一個 .js 文件進行運行。

                require()在node.js中叫作模塊加載器。用來加載模塊(.js 文件)。

        二、require(「http」)能夠返回服務對象,那麼這裏的http究竟是什麼?

                http 是 node.js 的核心模塊,就是一個 js 文件。

                node.js 中模塊分爲核心模塊、擴展模塊和自定義模塊。

                核心模塊:核心庫在 node.js 的安裝目錄中,已經被徹底打包;

                擴展模塊:在Node.js 環境上 非官方開發的功能模塊;

                自定義模塊:本身定義的功能模塊。

        三、第二步 建立服務器  const server = http.createServer(function(request,response){ ...... });爲何會進入該方法?

                http模塊中已經定義了該方法,而且經過 exports 或者 module exports 方法導出該方法。

                exports 方法:導出結果是一個 JSON 對象,導出的操做實際上就是  在該對象中添加新的屬性

                module.exports 方法:對象導出方式 ,是直接將 exports 對象進行新對象的替換或方法屬性的替換 。

        。。。。

    代碼運行: node 文件名

            控制檯顯示正在監聽3000端口:

            

            在瀏覽器地址欄輸入: 127.0.0.1:3000後,瀏覽器給出響應結果而且控制到輸出請求到達

                    

相關文章
相關標籤/搜索