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的版本也比較多,所以需要這麼款工具來管理
安裝操作步驟
- 解壓到一個全英文路徑
- 編輯解壓目錄下的
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 中使用
快速上手
事件驅動和非阻塞
模組化開發
相關推薦
Node基礎篇(概要)
Node簡介 客戶端的JavaScript是怎樣的 什麼是 JavaScript? 指令碼語言 執行在瀏覽器中 一般用來做客戶端頁面的互動(Interactive) JavaScript 的執行環境? 是不是執行在瀏覽器呢? 不夠嚴謹 執行在瀏覽器核心中的 JS 引擎(engine) 瀏覽器中的 J
Node基礎篇(檔案操作)
檔案操作 相關模組 Node核心提供了很多與檔案操作相關的模組,每個模組都提供了一些最基本的操作API,在NPM中也有社群提供的功能包 fs: 基礎的檔案操作 API path: 提供和路徑相關的操作 API readline: 用於讀取大文字檔案,一行一行讀 fs-extra(第三方): https://w
Node基礎篇(模組和NPM)
核心模組 核心模組的意義 如果只是在伺服器執行JavaScript程式碼,意義並不大,因為無法實現任何功能(讀寫檔案,訪問網路)。 Node 的用處在於它本身還提供的一系列功能模組,用於與作業系統互動。 這些核心的功能模組在 Node 中內建。 內建如下模組: path:處理檔案路徑。 fs:操作檔案系
linux操作系統基礎篇(四)
空閑 僵屍進程 標準 為什麽 嘗試 mount命令 性能分析 包含 put 系統監控 1. 系統監視和進程控制工具—top和free1) 掌握top命令的功能:top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似於Windows的
linux操作系統基礎篇(六)
linux操作系統 linux服務 images without 重新 修改 文件內容 請求 用戶訪問 linux服務篇 1.samba服務的搭建 samba的功能: samba是一個網絡服務器,用於Linux和Windows之間共享文件。2. samba服務的啟動、停止、
linux操作系統基礎篇(七)
多個 success centos mountd rpcbind ces 說明 目錄 發送 NFS服務(基於CentOS 7.0) NFS(Network File System),網絡文件系統,是linux與linux之間進行文件共享的服務,在NFS應用,本地NFS的客戶
ArcGIS基礎篇(2)——如何將模型導成py文件?
src 代碼 使用 images 友好 編程 基礎篇 {} left Python腳本使用很方便,熟悉一點編程的,了解一點Python的,都可以在ArcGIS中嘗試用Python進行數據處理。把模型導出成py需要註意三個問題: 一是格式,Python對縮進很敏感,不使用{}
node基礎總結(二)
ack ace content node body ons favicon name utf-8 獲取路由(訪問路徑) 6_path.js代碼: var http = require(‘http‘); var url = require(‘url‘); var route
Spark性能優化指南——基礎篇(轉載)
cores 寫入 所在 src 做了 一次函數 種類 推薦 var 前言 在大數據計算領域,Spark已經成為了越來越流行、越來越受歡迎的計算平臺之一。Spark的功能涵蓋了大數據領域的離線批處理、SQL類處理、流式/實時計算、機器學習、圖計算等各種不同類型的計算操
Git學習0基礎篇(下)
擴展 創建 不同 sheet id_rsa con 簡單 托管 讀取數據 server上的 Git - 協議 Git能夠使用四種基本的協議傳輸資料:本地協議(Loc
機器學習實戰教程(一):線性回歸基礎篇(上)
學習 reg style spa 目標 pub auto 機器 輸入 一 什麽是回歸? 回歸的目的是預測數值型的目標值,最直接的辦法是依據輸入,寫入一個目標值的計算公式。 假如你想預測小姐姐男友汽車的功率,可能會這麽計算: Ho
python3-開發面試題(python)6.23基礎篇(2)
漢字 2個 特殊 問題 ase 第一個 else () 判斷 1、請至少列舉5個 PEP8 規範(越多越好)。 一、代碼編排 1、縮進。4個空格的縮進,不使用Tap,更不能混合使用Tap和空格 2、每行最大長度79,換行可以使用反斜杠,最好使用圓括號。換行點要在操作符
網絡基礎篇(一)
分時 osi模型 郵件 高層 不用 電子設備 2msl 基於 三種 OSI模型的七層結構 1、物理層: 二進傳輸 為啟動、維護以及關閉物理鏈路定義了電氣規範、機械規範、過程規範、和功能規範。 2、數據鏈路層: 訪問介質: 定義如何格式化數據以便進行傳輸以及如何控制對網絡的訪
Java學習日記基礎篇(六)—— 抽象類、接口、final
技術 註意事項 sys png put system 全局變量 它的 camera 抽象類 為什麽要有抽象類? 因為父類方法有不確定性,我們在Animal中定義了一個方法,但是它會被子類的方法覆蓋掉,我們就不知道這個方法原本是做什麽的 1 public class
React學習筆記之react基礎篇(1)
lis fun tst struct pan 流程 普通 如果 是把 一.React特點歸納 1.聲明式的視圖層:React 模板寫在 JS 文件中,而不是 html 的 <script> 標簽中。能使用所有 JS 語法,而不只有模板語法,所以更加靈活。
React學習筆記之react基礎篇(2)
應用場景 組件 單元 ren provide form 實例 show wid 上一節我已經對React中基本的組件操作進行了說明,這一節我將對組件的一些附加屬性(如:組件的生命周期和組件的樣式)以及一些其他功能進行講解 一.組件的樣式 1.外部CSS樣式表: /
C語言基礎篇(二)運算子
導航: 2.1 算數運算子 2.2 邏輯運算子 2.3 位運算 2.4 賦值運算 2.5 記憶體訪問符號 ----->x<------------->x&
linux基礎篇(三):程序管理
程序 程序的定義:程序就是cpu未完成的工作 ps命令 ps a ##關於當前環境的所有程序 x| -A ##所有程序 f ##顯示程序從屬關係 e ##顯示程序呼叫環境工具的詳細資訊 l ##長列表顯示程序的
linux基礎篇(二):基於Redhat7系統的特殊許可權與acl許可權列表
新建目錄和檔案的預設許可權 新建目錄和檔案的預設許可權是由系統中umask值來決定的。 新建FILE許可權:666-umask (對位相減) 由數字法賦許可權的過程中,我們能夠發現,凡是奇數許可權,總是包含執行許可權的。而一個檔案如果預設就包含執行許可權其實是非常危險的。因此如果所
linux基礎篇(七):基於Redhat7系統的系統日誌與延時任務
系統日誌 配置檔案: /etc/rsyslog.conf 系統日誌是記錄系統中硬體、軟體和系統問題的資訊,同時還可以監視系統中發生的事件。使用者可以通過它來檢查錯誤發生的原因,或者尋找受到攻擊時攻擊者留下的痕跡。 常用日誌型別與日誌級別 型別 auth