* 自用筆記:NodeJS學習 *
1. Node.js概述
1.1 Node.js是一個在瀏覽器之外可以解析和執行JavaScript代碼的運行時環境,或者說是一個運行時平臺;基於V8引擎,事件驅動,非阻塞IO模型,高效輕便
1.2 Node.js的特性
- 無阻塞IO模型
- 事件驅動
1.3 Node.js通常用來構建提供實時服務的應用程序
1.4 Node.js的好處
- 可以在服務器端使用JavaScript了
- 統一了開發環境和語言,JavaScript無處不在
- 高性能的JavaScript引擎 – Google V8
- 誕生於2009年,由Ryan Dasl 發佈,並且是開源的
- Node.js非常輕量
- Node.js同時支持Windows、Linux、Mac OSX 跨平臺
1.5 Node.js的用途
- 多人遊戲、實時系統、聯網軟件和具有上千個併發用戶的應用程序
- 實時多人遊戲後臺服務器
- 基於Web的聊天客戶端
- 單頁面瀏覽器應用程序
- 基於JSON的API
- 不適合CPU密集型應用
1.5.1 Node能做什麼
- 操作文件
- 操作數據庫
- 接收請求
- 操作系統底層
- 數據持久化(連接數據庫)
1.5.2 Node與PHP的區別
*類似java/c++/php java–>服務器應用程序 web開發中 要接收請求 還需要服務器來運行java代碼 IIS apache
* node.js不需要服務器 本身這個平臺就是服務器
1.5.3 誰在使用Node
- 國外:Uber/linked in 把消息隊列從ruby語言切換到了node
- 國內:BAT 天貓 –> 2015年雙11天貓將原來的java部分,切換成了node 970億
- PV page view 日訪問量
- 處理高頻率的訪問
1.5.4 node.js適合開發什麼
node.js適合開發IO密集(基於網絡數據的輸入輸出)
node.js不適合開發cpu密集
1.6 Node.js基於哪個JavaScript引擎
Chrome 的 V8引擎
2. 安裝與配置Node.js環境
2.1 版本管理工具nvm
- 項目地址:https://github.com/creationix/nvm
- 直接輸入nvm查看nvm的常用命令以及作用
- nvm的一些常用命令:
- 安裝指定版本 node nvm install 版本號 [arch]
- 卸載指定版本 node nvm uninstall 版本號
- 切換使用指定版本的 node nvm use 版本號 [arch]
- 查看本地安裝的所有版本 nvm list|ls
2.2 path環境變量
- 當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時
- 系統首先在當前目錄下面尋找該程序
- 如果找不到,則系統會跑到path中指定的路徑去找,如果找到,直接運行
- 如果最終path環境變量中也沒有找到,則直接提示不是內部或外部命令,也不是可運行的程序
- path環境的添加的兩種方式
- 直接在path的變量值中以分好分隔加入程序所在的目錄;(系統變量或者用戶變量)path變量中,添加一個值,node js的目錄 找到對應的node.exe
- 也可以在外部先定義一個變量,然後在path以%變量名%的方式添加變量;定義一個系統變量NODE_PATH值:(最後一個)nodejs版本的路徑 添加到path變量中%NODE_PATH%
2.3 cmd
- cmd:command 命令行程序,允許用戶可以在終端命令臺中與操作系統交互,其實就是輸出輸出
- 作用:輸入一些命令,cmd.exe可以執行,
- 在cmd中操作文件目錄
- cd(change directory) 切換目錄
- mkdir/md(make directory) 創建一個文件夾
- rd(remove directory) 刪除文件夾
- del(delete) 刪除指定文件
- dir 列出當前目錄中所有的內容
- ren(rename) 改變文件名
真僞全局的區別
哪裏都能用
真全局對象在程序運行的時候 所有模塊共享一個值
僞全局對象在運行的時候 所有模塊各有各自的值
nvm的使用
nvm version (直接nvm給出對應的命令)
nvm ls 查看版本信息
nvm install 4.5[.0] [32||64]安裝對應版本
nvm uninstall 4.5.0 卸載版本
nvm use 4.5.0 切換版本
node 版本切換 新老版本的維護開發 需求切換版本
綠色版:環境變量 –>安裝新版本的時候,要更改原來的目錄名稱 使其不被刪除
環境變量配置
- (系統變量或者用戶變量)path變量中,添加一個值,node js的目錄 找到對應的node.exe
- 定義一個系統變量NODE_PATH值:(最後一個)nodejs版本的路徑 添加到path變量中%NODE_PATH%
nodejs和javascript
javascript 在瀏覽器中和nodejs平臺的區別
架構上nodejs中沒有DOM和BOM –>window和document