Node.js 介紹
1.1 為什么要學(xué)習(xí) Node.js
- 企業(yè)需求
具有服務(wù)端開發(fā)經(jīng)驗更好
front-end
back-end
全棧開發(fā)工程師
-
基本的網(wǎng)站開發(fā)能力
- 服務(wù)端
- 前端
- 運維部署
多人社區(qū) (實戰(zhàn)目標)
1.2 Node.js 是什么
- Node.js? is a JavaScript runtime built on
Chrome's V8 JavaScript engine.
- Node.js 不是一門語言
- Node.js 不是庫蓬抄、不是框架
- Node.js 是一個JavaScript 運行時環(huán)境
- 簡單點來講就是 Node.js 可以解析和執(zhí)行 JavaScript 代碼
- 以前只有瀏覽器可以解析執(zhí)行 JavaScript 代碼
- 也就是說現(xiàn)在的 JavaScript 可以完全脫離瀏覽器來運行著摔,一切都歸功于:Node.js
- 瀏覽器的 JavaScript
- EcmaScript 只是基本語法,沒有BOM DOM
- BOM
- DOM
- Node.js 中的 JavaScript
- 沒有BOM、DOM
- EcmaScript
- 在 Node 這個 JavaScript 執(zhí)行環(huán)境中為 JavaScript 提供了一些服務(wù)器級別的操作API
- 文件讀寫
- 網(wǎng)絡(luò)服務(wù)的構(gòu)建
- 網(wǎng)絡(luò)通信
- 構(gòu)建于 Chrome的 V8 引擎之上
- JavaScript引擎是一個專門處理JavaScript腳本的
虛擬機
,一般會附帶在網(wǎng)頁瀏覽器之中。 - 代碼只是具有特定格式的
字符串
而已,引擎可以去解析和執(zhí)行 - Google Chrome的
V8
引擎是目前公認解析執(zhí)行JavaScript代碼最快的 - Node.js的作者把Google Chrome的V8引擎移植了出來,開發(fā)了一個獨立的JavaScript運行時環(huán)境
- JavaScript引擎是一個專門處理JavaScript腳本的
- Node.js uses an event-driven,non-blocking I/O model that makes it lightweight and efficient.
- event-driven 事件驅(qū)動
- non-blocking I/O model 非阻塞IO模型(異步回調(diào))
- lightweight and efficient 輕量和高效
1.3 Node.js 能做什么
- Web服務(wù)器后臺
- 命令行工具
-
npm
包管理器 -
webpack
本質(zhì)上砰识,webpack 是一個現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(module bundler)
-