[toc]
### 1. Node.js是什么
- 不是一門語言
- 不是庫,不是框架
- Node.js是一個javaScript運行時環境
- 簡單點來講就是Node.js可以解析和執行JavaScript代碼
- 以前只有瀏覽器可以解析執行JavaScript代碼
- 也就是說現在JavaScript可以完全脫離瀏覽器來運行
### 2. 瀏覽器中的JavaScript
- EcmaScript
- DOM
- BOM
### 3. Node.js中的JavaScript
- EcmaScript
- 沒有DOM和BOM
- 在Node這個JavaScript執行環境中為JavaScript提供了一些服務器級別的操作API
- 例如文件讀寫
- 網絡服務的構建
- 網絡通信
- http服務器
- 等處理。。。
### 4. 構建在Chrome的V8引擎之上
- 代碼只是具有特定格式的字符串而已
- 引擎可以認識它,引擎可以幫你去解析和執行
- Google Chrome的V8引擎是目前公認的解析執行JavaScript代碼最快的
- Node.js的作者把Google Chrome中的V8引擎移植了出來,開發了一個獨立的引擎
### 5. 特點
- 事件驅動
- 非阻塞IO模型(異步)
- 輕量和高效
- Node.js package ecosystem(npm)
- npm 是世界上最大的開源庫生態系統
- 絕大多數JavaScript相關的包都存放在npm上,這樣做的目的是為了讓開發人員更方便的去下載使用
### 6. Node.js能做什么
- Web服務器后臺
- 命令行工具
- npm(node)
- git(c語言)
- hexo(node)
- ...
- 對于前端開發工程師來說,接觸node最多的是它的命令行工具
- 自己寫的很少,主要是使用別人第三方的
- webpack
- gulp
- npm
### 7. Node.js中能學到啥
- B/S編程模型
- Browser-Server
- back-end
- 任何服務端技術這種BS編程模型都是一樣,和語言無關
- Node只是作為我們學習BS編程模型的一個工具而已
- 模塊化編程
- RequireJS
- SeaJS
- `@import('文件路徑')`
- 以前認知的JavaScript只能通過script標簽來加載
- 在Node中可以像`@import`一樣引用加載js腳本文件
- Node常用API
- 異步編程
- 回調函數
- Promise
- async
- generator
- Express Web開發框架
- EcmaScript 6
- 1. Node.js介紹
- 2. Node讀取文件
- 3. Node寫文件
- 4. http服務
- 5. 發送文件中的數據以及Content-Type內容類型
- 5.1 仿制接口
- 6. Node.js中的模塊系統
- 7. 在node中使用模板引擎
- 8. 服務端渲染與客戶端渲染
- 9. exports 與 module.exports的區別
- 10. npm
- 11. Express
- 0. 安裝
- 1. 開放端口以及靜態資源
- 2. 基本路由
- 3. Express使用art-template
- 4. 在Express中獲取表單POST請求體數據
- 5. 使用Express路由模塊
- 6. Express 跨域
- 7. md加密
- 12. nodemon實現代碼修改自動重啟
- 13. MongoDB
- 13. MongoDB安裝與介紹
- 14. 啟動和關閉mongoDB
- 15. 連接和退出MongoDB數據庫
- 16. 基本命令
- 17. 在node中操作mongodb數據庫
- 18. mongoDB開始&新增數據
- 19. 查詢
- 附:Express留言板項目
- 20. path 路徑操作模塊
- 21. Node 中的其他成員
- 22. art-template中的include用法
- 附:學生信息管理系統