1.1 node概述
什麼是node
- node是一個JS運作環境
浏覽器也是一個運作環境,JS代碼寫好之後需要放到浏覽器裡面去運作,脫離了浏覽器是沒有辦法運作的,現在不僅浏覽器能運作JS,Node也能運作Js。
- 他比浏覽器擁有更多能力
- 浏覽器中的JS
- Javascript 能寫Ecmascript (例如es6,es7,es2016 …)和Ecmascript i (dom操作,bom 操作 …)
- Web Api 提供了操作視窗的能力
- BOM
- DOM
- AJAX
- 這種能力是非常有限的
-
跨域問題
· 浏覽器提出一個同源政策,保證每個網站的資料不被其他網站擷取,是以提出了同源政策也就導緻了跨域等一系列問題
-
檔案讀寫
· 我們不能用Js去讀取檔案(允許有限的讀寫檔案,但是收到浏覽器的限制)但是不能代表Js語言不能讀取檔案
-
- Node中的 Js
- 他同樣包含了Ecmascript Node Api
-
Node Api幾乎提供了所有能做的事
· 就是運作的Js可以完整地控制你的電腦,但是隻能在Node裡面運作
- 分層結構對比圖
-
node 概述 Node是什麼 能用Node幹什麼 - 浏覽器提供了有限的能力,JS隻能使用浏覽器提供的功能做有限的操作
- Node提供了完整的 控制計算機的能力,NodeJS幾乎可以通過Node提供的接口,實作對整個作業系統的控制
-
- node官網 https://nodejs.org/
- node 中文網 http://nodejs.cn/
node是一個單線程的應用程式它使用的是異步回調模式,它的好處是沒有線程之間的競争,而且單線程它的I(input)O(output)處理速度是非常快的,線上程之間的切換是比較耗費資源的,并且現在node環境已經經過優化也可以像多線程一樣使用多核處理資料,但是node不适合做巨大的運算的,
我們通常用node幹什麼
- 開發桌面應用程式
- 開發伺服器應用程式
- 結構一
-
node 概述 Node是什麼 能用Node幹什麼 - 這種結構通常應用到微型站點上(比如個人部落格,或者公司的小型官網)
- Node伺服器要完成請求的處理,響應,和資料
-
- 結構二
-
node 概述 Node是什麼 能用Node幹什麼 - 這種結構非常常見應用在各種規模的站點上
-
Node伺服器不作任何業務邏輯有關的事情絕大部分事情,隻是簡單的轉發請求但可能會有一些額外的請求
· 簡單的資訊記錄
1. 請求日志
2. 使用者偏好
3. 廣告資訊
· 靜态的資源托管
· 緩存
-
- 結構一