首頁  >  文章  >  web前端  >  Node.js 基礎 - 需要了解的基本知識

Node.js 基礎 - 需要了解的基本知識

王林
王林原創
2024-09-12 10:33:07586瀏覽

Node.js Basics - Essential Things to Know

概念亮點:

  1. Node.js 全域變數
  2. Node.js 模組
  3. 路徑模組
  4. 進程物件
  5. 處理輸入與輸出
  6. 文件管理與流

1.Node.js 全域變數

Node.js 附帶了幾個全域物件和函數,可以在應用程式中的任何位置使用它們,而無需 require() 它們。一些關鍵的全域物件包括:

  • __dirname: 目前模組的目錄名稱。
  • __filename: 目前檔案的完整路徑。
  • setTimeout(), clearTimeout(), setInterval(), clearInterval(): 管理非同步計時的函數。

例如)

console.log(__dirname); // outputs the current directory
console.log(__filename); // outputs the full path of the current file 

2.Node.js 模組

Node.js 遵循模組化結構,其中程式碼被分成更小的、可重複使用的模組。您可以使用 require() 函數載入內建或自訂模組。

例如) Node.js 中有三種類型的模組:

  1. 核心模組:由 Node.js 提供,如 fs、http 和 path。
  2. 第三方模組:透過npm安裝,例如express或lodash。
  3. 自訂模組: 由您建立用於組織程式碼。
const fs = require('fs'); // Require the built-in file system module

3. 路徑模組

Node.js 中的路徑模組提供了用於處理檔案和目錄路徑的實用程式。它對於使程式碼獨立於平台特別有用,因為路徑分隔符號(在 Windows 上)可能會因作業系統而異。

例如)路徑模組中的關鍵方法:

  • path.join() 將多個路徑段連接成一個。
  • path.basename() 返迴路徑的最後一部分(通常是檔案名稱)。
  • path.extname() 傳回檔案副檔名。
const path = require('path');

const filePath = path.join(__dirname, 'folder', 'file.txt');
console.log(filePath); // Combines the paths to create a full file path

4. 行程對象

Node.js 中的進程物件提供有關當前 Node.js 進程的資訊和控制。它是一個全域對象,允許您與運行時環境聯網。

例如)一些有用的屬性和過程方法包括:

  • process.argv: 傳遞給 Node.js 進程的參數。
  • process.env: 環境變數。
  • process.exit(): 終止進程。
console.log(process.argv); // Returns an array of command-line arguments
console.log(process.env); // Accesses environment variables

5. 處理輸入和輸出

Node.js 提供了處理輸入和輸出的簡單方法,特別是透過其進程物件來處理標準輸入和輸出。

例如) 此範例偵聽使用者輸入並將其記錄到控制台。對於更高級的 I/O 處理,您還可以使用流,它允許您逐段處理數據,而不是一次將整個 I/O 加載到記憶體中。

process.stdin.on('data', (data) => {
  console.log(`You typed: ${data}`);
});

6. 文件管理和流

檔案管理是許多 Node.js 應用程式的關鍵部分,Node 的 fs(檔案系統)模組提供了一系列使用檔案系統的方法。您可以使用非同步或同步 API 讀取、寫入和管理檔案。

例如)

const fs = require('fs');

// Asynchronous file reading
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) throw err;
  console.log(data);
});

// Writing to a file
fs.writeFile('output.txt', 'This is some content', (err) => {
  if (err) throw err;
  console.log('File written successfully');
});

Node.js 還擁有一個強大的流處理系統,用於高效處理大量資料。流通常用於讀取/寫入檔案或處理網路通訊。

const fs = require('fs');

const readStream = fs.createReadStream('example.txt');
const writeStream = fs.createWriteStream('output.txt');

readStream.pipe(writeStream); // Piping data from one file to another

以上是Node.js 基礎 - 需要了解的基本知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn