1. 程式人生 > >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的前端工具集

環境配置

安裝包的方式安裝

  • 安裝包下載連結:
  • 安裝操作:
    • 一路Next

更新版本

  • 操作方式:
    • 重新下載最新的安裝包;
    • 覆蓋安裝即可;
  • 問題:
    • 以前版本安裝的很多全域性的工具包需要重新安裝
    • 無法回滾到之前的版本
    • 無法在多個版本之間切換(很多時候我們要使用特定版本)

NVM工具的使用

Node Version Manager(Node版本管理工具)

由於以後的開發工作可能會在多個Node版本中測試,而且Node的版本也比較多,所以需要這麼款工具來管理

安裝操作步驟

  1. 解壓到一個全英文路徑
  2. 編輯解壓目錄下的settings.txt檔案(不存在則新建)
  • root 配置為當前 nvm.exe 所在目錄
  • path 配置為 node 快捷方式所在的目錄
  • arch 配置為當前作業系統的位數(32/64)
  • proxy 不用配置
  1. 配置環境變數 可以通過 window+r : sysdm.cpl
  • NVM_HOME = 當前 nvm.exe 所在目錄
  • NVM_SYMLINK = node 快捷方式所在的目錄
  • PATH += %NVM_HOME%;%NVM_SYMLINK%;
  • 開啟CMD通過set [name]命令檢視環境變數是否配置成功
  • PowerShell中是通過dir env:[name]命令
  1. NVM使用說明:
  1. 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-開發面試題python6.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