天天看點

node 概述 Node是什麼 能用Node幹什麼

1.1 node概述

什麼是node

  • node是一個JS運作環境

浏覽器也是一個運作環境,JS代碼寫好之後需要放到浏覽器裡面去運作,脫離了浏覽器是沒有辦法運作的,現在不僅浏覽器能運作JS,Node也能運作Js。

  • 他比浏覽器擁有更多能力
  • 浏覽器中的JS
    1. Javascript 能寫Ecmascript (例如es6,es7,es2016 …)和Ecmascript i (dom操作,bom 操作 …)
    2. Web Api 提供了操作視窗的能力
      • BOM
      • DOM
      • AJAX
    3. 這種能力是非常有限的
      • 跨域問題

        · 浏覽器提出一個同源政策,保證每個網站的資料不被其他網站擷取,是以提出了同源政策也就導緻了跨域等一系列問題

      • 檔案讀寫

        · 我們不能用Js去讀取檔案(允許有限的讀寫檔案,但是收到浏覽器的限制)但是不能代表Js語言不能讀取檔案

  • Node中的 Js
    1. 他同樣包含了Ecmascript Node Api
    2. Node Api幾乎提供了所有能做的事

      · 就是運作的Js可以完整地控制你的電腦,但是隻能在Node裡面運作

  • 分層結構對比圖
    1. node 概述 Node是什麼 能用Node幹什麼
    2. 浏覽器提供了有限的能力,JS隻能使用浏覽器提供的功能做有限的操作
    3. Node提供了完整的 控制計算機的能力,NodeJS幾乎可以通過Node提供的接口,實作對整個作業系統的控制
  • node官網 https://nodejs.org/
  • node 中文網 http://nodejs.cn/

node是一個單線程的應用程式它使用的是異步回調模式,它的好處是沒有線程之間的競争,而且單線程它的I(input)O(output)處理速度是非常快的,線上程之間的切換是比較耗費資源的,并且現在node環境已經經過優化也可以像多線程一樣使用多核處理資料,但是node不适合做巨大的運算的,

我們通常用node幹什麼

  • 開發桌面應用程式
  • 開發伺服器應用程式
    1. 結構一
      • node 概述 Node是什麼 能用Node幹什麼
      • 這種結構通常應用到微型站點上(比如個人部落格,或者公司的小型官網)
      • Node伺服器要完成請求的處理,響應,和資料
    2. 結構二
      1. node 概述 Node是什麼 能用Node幹什麼
      2. 這種結構非常常見應用在各種規模的站點上
      3. Node伺服器不作任何業務邏輯有關的事情絕大部分事情,隻是簡單的轉發請求但可能會有一些額外的請求

        · 簡單的資訊記錄

        1. 請求日志

        2. 使用者偏好

        3. 廣告資訊

        · 靜态的資源托管

        · 緩存