Node.js:修訂版本之間的差異

出自福留子孫
跳轉到: 導覽搜尋
在 DSM7 中的 Node.js 運行
xxxx
第 108 行: 第 108 行:
  
 
==xxxx==
 
==xxxx==
Node.js是一個使用JavaScript編寫伺服器端應用程式的平台。以下是Node.js伺服器端的主要物件,以繁體中文加以說明各物件是什麼:
+
#HTTP(超文本傳輸協定)模組:
 
+
#*提供了一個建立 HTTP 伺服器及客戶端的 API。
    HTTP 模組 (HTTP Module):用於創建 HTTP 伺服器和 HTTP 客戶端,處理 HTTP 請求和回應。
+
#*透過這個模組,Node.js 可以輕易地處理 HTTP 請求及回應,讓使用者能夠開發出網路應用程式。
 
+
#Express(應用程式框架):
    路由器物件 (Router Object):用於定義和管理應用程式的路由,負責處理進來的 HTTP 請求,決定哪個處理程序應該處理請求。
+
#*Node.js的第三方套件。
 
+
#*透過輕量級的路由、中介軟體及視圖引擎等功能,提供了一個簡單易用的開發方式。
    請求物件 (Request Object):代表客戶端對伺服器的 HTTP 請求,包括 URL、HTTP 方法、標頭、內容等信息。
+
#*快速、開放、最小化的Node.js Web應用程式框架,可以協助使用者建立RESTful API及網站。
 
+
#URL(路由)模組:
    回應物件 (Response Object):代表伺服器對客戶端的 HTTP 回應,包括狀態碼、標頭、內容等信息。
+
#*提供了API解析及格式化URL字串。
 
+
#*使用Node.js內建的URL模組,可以輕鬆獲取URL的協議、主機、路徑、查詢字串等。
    緩衝區物件 (Buffer Object):用於處理二進制數據,如圖像、視頻和聲音文件等。
+
#*路由用於定義和管理應用程式的路由,負責處理進來的HTTP請求,決定哪個處理程序應該處理請求。
 
+
#File System(檔案系統)模組:
    文件系統模組 (File System Module):用於與檔案系統交互,讀取和寫入檔案等操作。
+
#*FS 是 Node.js 內建的檔案系統模組,提供一個簡單的 API 來處理檔案系統操作,如讀取檔案、寫入檔案、刪除檔案等。
 
+
#Path(路徑)模組:
    流物件 (Stream Object)
+
#*允許開發者在不同的作業系統上安全地操作檔案路徑。
 
+
#*Node.js 內建的模組,提供了一個簡單的 API 來處理檔案路徑。
 
+
#Events(事件)模組:
 
+
#*Node.js 內建的模組,它提供了一個簡單的 API 來處理事件。
 
+
#*開發者可以使用 Events 物件建立一個事件監聽器,並且可以在事件發生時觸發相應的回呼函式。
Node.js 是一個基於 JavaScript 的開放原始碼伺服器端執行環境,其中有一些常用的物件可以協助開發者建立強大的伺服器應用程式。以下是一些主要的 Node.js 伺服器端物件:
+
 
+
    HTTP(超文本傳輸協定)模組:提供了一個建立 HTTP 伺服器及客戶端的 API。透過這個模組,Node.js 可以輕易地處理 HTTP 請求及回應,讓使用者能夠開發出網路應用程式。
+
 
+
    Express(應用程式框架):是一個快速、開放、最小化的 Node.js Web 應用程式框架,可以協助使用者建立 RESTful API 及網站。Express 透過輕量級的路由、中介軟體及視圖引擎等功能,提供了一個簡單易用的開發方式。
+
 
+
    URL 模組:提供了一個 API 來解析及格式化 URL,可以協助開發者處理 URL 字串,例如獲取 URL 的路徑名稱、查詢參數及片段等。
+
 
+
    File System(檔案系統)模組:提供了一個 API 來讀取、寫入及操作檔案及目錄等操作。使用者可以透過這個模組來讀取及寫入檔案,或者讀取目錄下的所有檔案。
+
 
+
    Path(路徑)模組:提供了一個 API 來處理檔案路徑,可以協助使用者處理路徑字串,例如獲取路徑的資料夾名稱、檔案名稱及檔案副檔名等。
+
 
+
    Query String(查詢字串)模組:提供了一個 API 來解析及格式化查詢字串,可以協助開發者處理 URL 查詢參數,例如獲取查詢字串的鍵及值等。
+
 
+
    Process(進程)物件:代表 Node.js 應用程式中的當前進程,可以協助使用者存取環境變數、命令列參數及標準輸出等。
+
 
+
以上是 Node.js 伺服器端常用的物件,透過這些物件可以輕易地建立強大的伺服器應用程式,讓使用者可以更輕鬆地開發 Web 應用程式及其他相
+
 
+
 
+
 
+
 
+
Node.js 是一個使用 JavaScript 語言建立伺服器端應用程式的平台,其提供了豐富的內建物件以及第三方套件,讓開發者可以更加便利地建立高效能、穩定可靠的伺服器端應用程式。以下是幾個 Node.js 伺服器端的主要物件:
+
 
+
    HTTP:HTTP 物件是 Node.js 內建的模組之一,它提供了建立 HTTP 伺服器以及發送 HTTP 請求的功能。開發者可以使用 HTTP 物件建立一個 HTTP 伺服器,接受客戶端的請求,處理請求並回傳回應,並且可以透過 HTTP 物件發送 HTTP 請求至其他網站或伺服器。
+
 
+
    Express:Express 是一個流行的 Node.js 第三方套件,它提供了一個簡單易用的方式來建立 Web 應用程式。Express 允許開發者快速建立路由、中介軟體、模板引擎等,使開發 Web 應用程式變得更加容易。
+
 
+
    FS:FS 是 Node.js 內建的檔案系統模組,它提供了一個簡單的 API 來處理檔案系統操作,如讀取檔案、寫入檔案、刪除檔案等。使用 FS 物件,開發者可以輕鬆地對檔案系統進行操作。
+
 
+
    Path:Path 是 Node.js 內建的模組之一,它提供了一個簡單的 API 來處理檔案路徑。Path 物件允許開發者在不同的作業系統上安全地操作檔案路徑,例如處理路徑分隔符、解析路徑、串接路徑等。
+
 
+
    URL:URL 是 Node.js 內建的模組之一,它提供了一個簡單的 API 來解析和操作 URL 字串。使用 URL 物件,開發者可以輕鬆地解析 URL 字串,獲取 URL 的各個部分,例如協議、主機、路徑、查詢字串等。
+
 
+
    Events:Events 是 Node.js 內建的模組之一,它提供了一個簡單的 API 來處理事件。開發者可以使用 Events 物件建立一個事件監聽器,並且可以在事件發生時觸發相應的回呼函式。Events 物件是 Node.js 事件
+

2023年3月3日 (五) 09:59的修訂版本

Node.js是什麼?

  1. Node.js是一個 javascript 運作的環境,發佈於 2009年五月,由 Ryan Dahl開發,chrome v8引擎為核心。
    • chrome v8 執行 javascript 核心流程分為兩階段
      • 編譯:v8將 javascript 轉換為字源碼或二進制機器碼
      • 執行:解釋器解釋執行字源碼或CPU執行二進制機器碼
  2. 官方網站:https://nodejs.org
    • LTS為穩定版(長期維護)
    • Currentent為最新版,每半年出一個版本(約每年一月和七月)。
      • 尾數為單號維護六個月
      • 尾數為雙號六個月之後轉換成LTS
  3. NPM (Node Package Manager)是Node.js的套件管理庫 ,是全球最大的開源生態系統。

Node.js如何架設?

建置NodeJS 環境

  1. 在「套件中心」安裝Node JS 套件

啟動SSH服務

  1. Synology NAS:DSM 控制台 > 終端機 & SNMP > 終端機
  2. 勾選啟動 SSH 功能。
  3. 指定 SSH 連線的連接埠編號並儲存設定。為了確保系統安全性,建議將預設連接埠 22 用其他編號取代。

在Linux作業系統運行

管理者權限

  1. 在電腦上啟動終端機應用程式:
    • Windows:Windows PowerShell(命令提示字元)
    • macOS:Terminal.app(終端機)
    • Linux:Terminal
  2. 登錄管理者權限
    • ssh 管理員帳號名稱@IP 位址 -p SSH 的連接埠號碼(EX:ssh admin@192.168.1.1 -p 22)
    • 輸入管理員帳號的密碼
    • 此時已登錄管理者權限,輸入指令 sudo -i
    • 再輸入管理員帳號的密碼
    • 您現在已透過 SSH 連線,以 root 權限登入

建置 Node.js 環境

  1. Linux 安裝Node.js
  2. Ubuntu 安裝Node.js
    • root權限(~#)
      • apt-get update(更新列表,看是否需要更新)
      • apt-get install nodejs(安裝 Node.js)
      • apt-get install npm(安裝 npm套件管理庫)
      • node -v(檢查Node.js版本)
    • admin權限(~$)
      • sudo apt-get update(更新列表,看是否需要更新)
      • sudo apt-get install nodejs(安裝 Node.js)
      • sudo apt-get install npm(安裝 npm套件管理庫)
      • node -v(檢查Node.js版本)

Node.js 套件安裝

  1. 指令語法
    • apt-get install <Module/Package Name>(安裝套件)
    • vi <File Name>(觀看檔案)
    • bash <File Name>(執行檔案)
    • nvm ls(查看nvm事是否執行)
  2. 安裝npm套件:
    • npm install <Module/Package Name> -g(Global Install 全域安裝)
      • npm root -g(安裝位置查詢指令,可由 npm config set ,來修改位置)
    • npm install <Module/Package Name>(Local Install 區域安裝)
      • require(<Moudle Name>)(載入模組)
    • npm search <NAME>(查詢 NPM 已安裝與版本,npm網站
    • npm install|update|uninstall <NAME>(已安裝 NPM 模組進行版本安裝、升級、移除)
    • npm help(查找 NPM 相關指令)
    • npm cache clear(清除 NPM 本地暫存)
  3. 安裝nvm套件:切換不同Node.js 版本的管理器


參考資料

在 DSM7 中的 Node.js 運行

/volume1/@appstore/Node.js_v12

  1. /volume1/@appstore/Node.js_v12/usr/local/lib/
  2. /usr/local/lib/
  3. /volume1/@appstore/Node.js_v12/usr/local/bin/
    • /volume1/@appstore/Node.js_v12/usr/local/bin/node
    • /usr/local/node/nvm/versions/12.22.12/bin/node
    • /usr/local/bin/node
  4. /volume1/@appstore/SynologyApplicationService/node_libs
  5. /volume1/@appstore/SynologyApplicationService/node_modules
    • /volume1/@appstore/SynologyApplicationService/node_modules/asn1.js/lib/asn1/base/node.js

/volume1/web/etherpad-lite

  1. /volume1/web/etherpad-lite/node_modules
  2. /volume1/web/etherpad-lite/src/

/volume1/web/alWiki/extensions/VisualEditor/

xxxx

  1. HTTP(超文本傳輸協定)模組:
    • 提供了一個建立 HTTP 伺服器及客戶端的 API。
    • 透過這個模組,Node.js 可以輕易地處理 HTTP 請求及回應,讓使用者能夠開發出網路應用程式。
  2. Express(應用程式框架):
    • Node.js的第三方套件。
    • 透過輕量級的路由、中介軟體及視圖引擎等功能,提供了一個簡單易用的開發方式。
    • 快速、開放、最小化的Node.js Web應用程式框架,可以協助使用者建立RESTful API及網站。
  3. URL(路由)模組:
    • 提供了API解析及格式化URL字串。
    • 使用Node.js內建的URL模組,可以輕鬆獲取URL的協議、主機、路徑、查詢字串等。
    • 路由用於定義和管理應用程式的路由,負責處理進來的HTTP請求,決定哪個處理程序應該處理請求。
  4. File System(檔案系統)模組:
    • FS 是 Node.js 內建的檔案系統模組,提供一個簡單的 API 來處理檔案系統操作,如讀取檔案、寫入檔案、刪除檔案等。
  5. Path(路徑)模組:
    • 允許開發者在不同的作業系統上安全地操作檔案路徑。
    • Node.js 內建的模組,提供了一個簡單的 API 來處理檔案路徑。
  6. Events(事件)模組:
    • Node.js 內建的模組,它提供了一個簡單的 API 來處理事件。
    • 開發者可以使用 Events 物件建立一個事件監聽器,並且可以在事件發生時觸發相應的回呼函式。