Node伺服器端開發第一天
Node簡介及配置、快速上手、核心特點、模組化
Node簡介
客戶端的JavaScript是怎樣的
-
什麼是 JavaScript?
- 指令碼語言
- 執行在瀏覽器中
- 一般用來做客戶端頁面的互動(Interactive)
-
JavaScript 的執行環境?
- 是不是執行在瀏覽器呢?
- 不夠嚴謹
- 執行在瀏覽器核心中的 JS 引擎(engine)
-
瀏覽器中的 JavaScript 可以做什麼?
- 操作DOM(對DOM的增刪改、註冊事件)
- AJAX/跨域
- BOM(頁面跳轉、歷史記錄、console.log()、alert())
- ECMAScript
-
瀏覽器中的 JavaScript 不可以做什麼?
- 檔案操作(檔案和資料夾的CRUD)
- 沒有辦法作業系統資訊
- 由於執行環境特殊(我們寫的程式碼是在不認識的人的瀏覽器中執行)
-
在開發人員能力相同的情況下程式語言的能力取決於什麼?
- -語言本身?-
- 語言本身只是提供定義變數,定義函式,定義型別,流程控制,迴圈結構之類的操作
- 取決於執行該語言的平臺(環境)
- 對於JS來說,我們常說的JS實際是ES,大部分能力都是由瀏覽器的執行引擎決定
- BOM和DOM可以說是瀏覽器開放出來的介面
- 比如:Cordova中提供JS呼叫攝像頭,操作本地檔案的API
- Java既是語言也是平臺
- Java執行在Java虛擬機器(跨作業系統)
- PHP既是語言也是平臺(跨作業系統)
- C#語言平臺:.NET Framework(Windows)
- C#可以執行在MONO這樣的平臺
- 因為有人需要將C#執行在Linux平臺,所有出現了MONO
-
JavaScript 只可以執行在瀏覽器中嗎?
- 不是
- 能執行在哪取決於,這個環境有沒有特定平臺
什麼是Node
- Node 就是 JavaScript 語言在伺服器端的執行環境
-
所謂“執行環境(平臺)”有兩層意思:
- 首先,JavaScript 語言通過 Node 在伺服器執行,在這個意義上,Node 有點像 JavaScript 虛擬機器;
- 其次,Node 提供大量工具庫,使得 JavaScript 語言與作業系統互動(比如讀寫檔案、新建子程式),在這個意義上, Node 又是 JavaScript 的工具庫。
為什麼是JavaScript
Node的實現結構
Node在當下Web開發領域的應用
哪些公司在用
重點理解
- Node是一個JavaScript的執行環境(平臺),不是一門語言,也不是JavaScript的框架;
- Node的實現結構;
- Node可以用來開發服務端應用程式,Web系統;
- 基於Node的前端工具集
環境配置
安裝包的方式安裝
更新版本
-
操作方式:
- 重新下載最新的安裝包;
- 覆蓋安裝即可;
-
問題:
- 以前版本安裝的很多全域性的工具包需要重新安裝
- 無法回滾到之前的版本
- 無法在多個版本之間切換(很多時候我們要使用特定版本)
NVM工具的使用
Node Version Manager(Node版本管理工具)
由於以後的開發工作可能會在多個Node版本中測試,而且Node的版本也比較多,所以需要這麼款工具來管理
安裝操作步驟
- 下載:nvm-windows
- 解壓到一個全英文路徑
-
編輯解壓目錄下的
settings.txt
檔案(不存在則新建)root 配置為當前 nvm.exe 所在目錄
path 配置為 node 快捷方式所在的目錄
arch 配置為當前作業系統的位數(32/64)
proxy 不用配置
-
配置環境變數 可以通過 window+r : sysdm.cpl
NVM_HOME = 當前 nvm.exe 所在目錄
NVM_SYMLINK = node 快捷方式所在的目錄
PATH += %NVM_HOME%;%NVM_SYMLINK%;
- 開啟CMD通過
set [name]
命令檢視環境變數是否配置成功 - PowerShell中是通過
dir env:[name]
命令
-
NVM使用說明:
- NPM的目錄之後使用再配置
配置Python環境
Node中有些第三方的包是以C/C++原始碼的方式釋出的,需要安裝後編譯
確保全域性環境中可以使用python命令
環境變數的概念
環境變數就是作業系統提供的系統級別用於儲存變數的地方
- Windows中環境變數分為系統變數和使用者變數
- 環境變數的變數名是不區分大小寫的
-
特殊值:
- PATH 變數:只要新增到 PATH 變數中的路徑,都可以在任何目錄下搜尋
Windows下常用的命令列操作
- 切換當前目錄(change directory):cd
- 建立目錄(make directory):mkdir
-
檢視當前目錄列表(directory):dir
- 別名:ls(list)
-
清空當前控制檯:cls
- 別名:clear
-
刪除檔案:del
- 別名:rm
注意:所有別名必須在新版本的 PowerShell 中使用