一、 nodejs是基於chromeV8引擎的js運行環境。node
二、 nodejs使用了事件驅動,非阻塞式I/O模型,使其輕量又高效。chrome
三、 nodejs中的npm包管理器,是全球最大的開源式生態系統。數據庫
每個瀏覽器都會有一個內核,內核裏面有引擎。npm
引擎分爲:渲染引擎(渲染DOM樹) 腳本引擎(解析腳本語言)gulp
chromeV8引擎是目前最流行最火的一個引擎瀏覽器
觀察者模式特別類似,監聽某一個事件的變化,通知其程序事件的變化。安全
一、 npm是一個包管理器服務器
二、 npm仍是一個網站併發
三、 npm也是一個命令 npm install gulpdom
一、運行環境的區別,js在瀏覽器,node在服務器。
二、js的組成部分:ECMA DOM BOM,nodejs沒有dom和DOM的概念。
三、之前js有瀏覽器安全的限制,node裏面沒有瀏覽器的安全限制。
四、node裏面提供好多底層的API,可進行文件讀寫,建立服務器 ....
導入導出模塊(module.exports)、建立服務器(http)、文件讀寫(fs)、解析url(url)
獲取接口數據爬蟲(http)、服務器與客戶端通訊(socket)、路由(pathname)
操做MongoDB數據庫
node適合作高併發(I/O密集型)項目,不適合大量運算的程序(cpu密集型)。
一、 核心模塊,核心模塊能夠經過require直接進行引入。
二、 自定義模塊,須要先導出模塊而後再經過require引入。
三、第三方模塊,須要經過npm install 模塊,再經過require進行引入。
CommonJS規範即nodeJS的模塊化開發遵循的規範,導出的時候必須用module.exports 或者exports,導入的時候必須用require。
若是沒有被導出的話那麼這個模塊裏面的全部方法和屬性都是屬於私有變量和方法。
module.exports 默認會導出一個空的對象。
將一個大的功能拆分紅功若干個小的功能,進行分工協做。
優勢:
代碼複用,便於維護。
特色:
高內聚:當前功能重複使用度越高,內聚度也就越高。
低耦合:當前功能越獨立,耦合越低。