Node.js 工具模塊-OS模塊+path模塊

来源:https://www.cnblogs.com/chenyingying0/archive/2020/03/12/12467189.html
-Advertisement-
Play Games

Node.js os 模塊提供了一些基本的系統操作函數。 os.tmpdir()返回操作系統的預設臨時文件夾。 os.endianness()返回 CPU 的位元組序,可能的是 "BE" 或 "LE"。 os.hostname()返回操作系統的主機名。 os.type()返回操作系統名 os.plat ...


 

Node.js os 模塊提供了一些基本的系統操作函數。

os.tmpdir()
返回操作系統的預設臨時文件夾。

os.endianness()
返回 CPU 的位元組序,可能的是 "BE" 或 "LE"。

os.hostname()
返回操作系統的主機名。

os.type()
返回操作系統名

os.platform()
返回編譯時的操作系統名

os.arch()
返回操作系統 CPU 架構,可能的值有 "x64"、"arm" 和 "ia32"。

os.release()
返回操作系統的發行版本。

os.uptime()
返回操作系統運行的時間,以秒為單位。

os.loadavg()
返回一個包含 1、5、15 分鐘平均負載的數組。

os.totalmem()
返回系統記憶體總量,單位為位元組。

os.freemem()
返回操作系統空閑記憶體量,單位是位元組。

os.cpus()
返回一個對象數組,包含所安裝的每個 CPU/內核的信息:型號、速度(單位 MHz)、時間(一個包含 user、nice、sys、idle 和 irq 所使用 CPU/內核毫秒數的對象)。

os.networkInterfaces()
獲得網路介面列表。

os.EOL
定義了操作系統的行尾符的常量。

var os = require("os");

// CPU 的位元組序
console.log(os.endianness());
// 操作系統名
console.log(os.type());
// 操作系統名
console.log(os.platform());
// 系統記憶體總量
console.log(os.totalmem()+" bytes");
// 操作系統空閑記憶體量
console.log(os.freemem()+" bytes");

 

 

Node.js path 模塊提供了一些用於處理文件路徑的小工具

path.normalize(p)
規範化路徑,註意'..' 和 '.'。

path.join([path1][, path2][, ...])
用於連接路徑。該方法的主要用途在於,會正確使用當前系統的路徑分隔符,Unix系統是"/",Windows系統是"\"。

path.resolve([from ...], to)
將 to 參數解析為絕對路徑,給定的路徑的序列是從右往左被處理的,後面每個 path 被依次解析,直到構造完成一個絕對路徑。 例如,給定的路徑片段的序列為:/foo、/bar、baz,則調用 path.resolve('/foo', '/bar', 'baz') 會返回 /bar/baz。

path.resolve('/foo/bar', './baz');
// 返回: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// 返回: '/tmp/file'

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// 如果當前工作目錄為 /home/myself/node,
// 則返回 '/home/myself/node/wwwroot/static_files/gif/image.gif'

path.isAbsolute(path)
判斷參數 path 是否是絕對路徑。

path.relative(from, to)

用於將絕對路徑轉為相對路徑,返回從 from 到 to 的相對路徑(基於當前工作目錄)。

在 Linux 上:

path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// 返回: '../../impl/bbb'

在 Windows 上:

path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb');
// 返回: '..\\..\\impl\\bbb'

path.dirname(p)
返迴路徑中代表文件夾的部分,同 Unix 的dirname 命令類似。

path.basename(p[, ext])
返迴路徑中的最後一部分。同 Unix 命令 bashname 類似。

path.extname(p)
返迴路徑中文件的尾碼名,即路徑中最後一個'.'之後的部分。如果一個路徑中並不包含'.'或該路徑只包含一個'.' 且這個'.'為路徑的第一個字元,則此命令返回空字元串。

path.parse(pathString)
返迴路徑字元串的對象。

path.format(pathObject)
從對象中返迴路徑字元串,和 path.parse 相反。

path.sep
平臺的文件路徑分隔符,'\\' 或 '/'。

path.delimiter
平臺的分隔符, ; or ':'.

path.posix
提供上述 path 的方法,不過總是以 posix 相容的方式交互。

path.win32
提供上述 path 的方法,不過總是以 win32 相容的方式交互。

var path = require("path");

// 格式化路徑
console.log(path.normalize('/test/test1//2slashes/1slash/tab/..'));// '/test/test1//2slashes/1slash/tab/..'

// 連接路徑
console.log(path.join('/test', 'test1', '2slashes/1slash', 'tab', '..'));// \test\test1\2slashes\1slash

// 轉換為絕對路徑
console.log(path.resolve("main.js"));// C:\Users\YG1ST\mynode\main.js

// 路徑中文件的尾碼名
console.log(path.extname("main.js"));// .js

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 閉包的定義:閉包是指有權訪問另一個函數作用域中的變數的函數 --《JavaScript 高級程式設計》。 如何理解這句話:其實就是指在函數a外面能夠訪問函數a裡面的函數b。 例如: 1 function a () { 2 var v = 123; 3 function b() { 4 console ...
  • Lodash是一個一致性、模塊化、高性能的 JavaScript 實用工具庫。 Lodash 通過降低 array、number、objects、string 等等的使用難度從而讓 JavaScript 變得更簡單。Lodash 的模塊化方法 非常適用於: 遍歷 array、object 和 str ...
  • Node.js Net 模塊提供了一些用於底層的網路通信的小工具,包含了創建伺服器/客戶端的方法 server.js var net = require("net"); var server=net.createServer(function(connection){ console.log("客戶 ...
  • 廢話不多說,直接聊乾貨。 關鍵詞“零基礎”和“迅速”,針對這兩個詞,我們就應該相應的學習規劃。首先你是一個零基礎的人,現在急需把web前端相關技能學好,在“保證學習質量”的同時用最短的時間學好web前端應該掌握的必要技術。 具體實行方案如下: 1.瞭解web前端市場需求 首先,零基礎的人應該去瞭解目 ...
  • 今天來說說es6的語法,最基礎的也就是var,let,const 的用法與區別了,我們來看看他們之間的恩怨情仇。 首先來說說var,這個只要是學過js的都知道,它是用來聲明一個變數的,但是它在開發中也會遇到一些問題,比較難解決。先來看看下麵的代碼: var str="hello world"; ​ ...
  • 問題描述:在console.log中列印一個json對象時會顯示[object Object] //清空控制台輸出並將游標顯示在第一排 console.clear(); //定義一個json格式的對象 var j = {}; j.name = "小J"; j.sex = true; j.age = ...
  • 參考鏈接:https://blog.csdn.net/qq_20777797/article/details/77916029 https://www.xiabingbao.com/css3/2017/07/03/css3-infinite-scroll.html 需求是一共有兩個,1、單張豎圖持續 ...
  • 前言 對於剛開始學習前端的伙伴倆說,問得最多的問題就是 ——前端技術現在如此繁雜,我到底應該如何學習。這個話題太大了,幾句話回答不好;也由於這個問題確實困擾了很多前端開發人員,所以我也就著手系統的輸出這篇文章。 雖然這篇文章花了很長時間,肯定也有其局限性;希望各位不吝指出。 入題 我們儼然能感受到前 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...