node.js_node.js で fs.realpathSync メソッドを使用する手順
メソッドの説明:
fs.realpath() の同期バージョン。
文法:
fs.realpathSync(パス, [キャッシュ])
このメソッドは fs モジュールに属しているため、使用する前に fs モジュールを導入する必要があります (var fs= require(“fs”) )
パラメータを受信します:
パス パス
キャッシュ‐ ‐ ‐ ‐ ‐ ‐ オプションで、リテラルのマップされたパスを使用して、特定のパスを強制的に解決したり、実際のパス オブジェクトを知るための追加の fs.stat の必要性を回避したりできます。
例:
var fs = require('fs');
// ドットは現在のファイルのパスを示します
var str = fs.realpathSync('.');
console.log(str);
ソースコード:
fs.realpathSync = 関数 realpathSync(p, キャッシュ) {
// p を絶対値にする
p = pathModule.resolve(p);
if (キャッシュ && Object.prototype.hasOwnProperty.call(cache, p)) {
キャッシュを返す[p];
}
var オリジナル = p,
見られたリンク = {},
既知ハード = {};
// p
内の現在の文字位置 var pos;
// これまでの部分パス(末尾のスラッシュがあればそれも含む)
var current;
// 末尾のスラッシュのない部分パス (ルートを指す場合を除く)
var ベース;
// 前のラウンドでスキャンされた部分パス、スラッシュ
var 前;
start();
関数 start() {
// ルートをスキップ
var m = splitRootRe.exec(p);
pos = m[0].length;
現在 = m[0];
ベース = m[0];
前 = '';
// Windows では、ルートが存在することを確認します。 UNIX では必要ありません。
if (isWindows && !knownHard[base]) {
fs.lstatSync(base);
knownHard[base] = true;
}
}
// パスをたどって、リンクされたパスパーツを実際のパスパーツと交換します
// 値
// 注意: p.length は変更されます。
while (pos
nextPartRe.lastIndex = pos;
var result = nextPartRe.exec(p);
前 = 現在;
現在 = 結果[0];
ベース = 前の結果[1];
pos = nextPartRe.lastIndex;
// シンボリックリンクでない場合は続行
if (knownHard[base] || (キャッシュ && キャッシュ[ベース] === ベース)) {
続行;
}
varresolvedLink;
if (キャッシュ && Object.prototype.hasOwnProperty.call(キャッシュ, ベース)) {
// 既知のシンボリック リンク。再度統計を行う必要はありません。
解決済みリンク = キャッシュ[ベース];
} else {
var stat = fs.lstatSync(base);
if (!stat.isSymbolicLink()) {
knownHard[base] = true;
if (キャッシュ) キャッシュ[ベース] = ベース;
続行;
}
// まだ読まれていない場合はリンクを読みます
// Windows では dev/ino は常に 0 を返すため、チェックをスキップします。
var linkTarget = null;
if (!isWindows) {
var id = stat.dev.toString(32) ':' stat.ino.toString(32);
if (seenLinks.hasOwnProperty(id)) {
linkTarget = seenLinks[id];
}
}
if (util.isNull(linkTarget)) {
fs.statSync(base);
linkTarget = fs.readlinkSync(base);
}
solvedLink = pathModule.resolve(previous, linkTarget);
// キャッシュが与えられている場合、これを追跡します。
if (キャッシュ) キャッシュ[ベース] =solvedLink;
if (!isWindows) seenLinks[id] = linkTarget;
}
// リンクを解決してからやり直します
p = pathModule.resolve(resolvedLink, p.slice(pos));
start();
}
if (キャッシュ) キャッシュ[オリジナル] = p;
p を返します;
};

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

この記事では、NodeJS V8 エンジンのメモリとガベージ コレクター (GC) について詳しく説明します。

Node 19 が正式リリースされましたので、この記事では Node.js 19 の 6 つの主要な機能について詳しく説明します。

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

ノード用の Docker イメージの選択は些細なことのように思えるかもしれませんが、イメージのサイズと潜在的な脆弱性は、CI/CD プロセスとセキュリティに大きな影響を与える可能性があります。では、最適な Node.js Docker イメージを選択するにはどうすればよいでしょうか?

Node.js はどのように GC (ガベージ コレクション) を行うのでしょうか?次の記事で詳しく説明します。

イベント ループは Node.js の基本的な部分であり、メイン スレッドがブロックされていないことを確認することで非同期プログラミングが可能になります。イベント ループを理解することは、効率的なアプリケーションを構築するために重要です。次の記事では、Node のイベント ループについて詳しく説明します。お役に立てれば幸いです。

ノードが npm コマンドを使用できない理由は、環境変数が正しく設定されていないためです。解決策は次のとおりです: 1. 「システムのプロパティ」を開きます; 2. 「環境変数」->「システム変数」を見つけて、環境を編集します。変数; 3.nodejs フォルダーの場所を見つけます; 4.「OK」をクリックします。
