


Arahan untuk menggunakan kaedah fs.realpath dalam node.js_node.js
Penerangan kaedah:
Dapatkan jalan sebenar.
Laluan relatif boleh diselesaikan menggunakan process.cwd.
Tatabahasa:
fs.realpath(path, [cache], [callback(err, resolvedPath)])
Memandangkan kaedah ini tergolong dalam modul fs, modul fs perlu diperkenalkan sebelum digunakan (var fs= require(“fs”) )
Terima parameter:
Laluan laluan
cache ’ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ Secara pilihan, laluan yang dipetakan secara literal boleh digunakan untuk memaksa laluan tertentu diselesaikan atau untuk mengelakkan keperluan untuk mengetahui laluan fs.stat tambahan.
panggilan balik
err PengecualianresolvedPath alamat sebenar
Contoh:
fs.realpath('/etc/passwd', cache, fungsi (err, resolvedPath) {
jika (err) membuang err;
console.log(resolvedPath);
});
Kod sumber:
fs.realpath = fungsi realpath(p, cache, cb) {
jika (!util.isFunction(cb)) {
cb = maybeCallback(cache);
cache = null;
}
// jadikan p adalah mutlak
p = pathModule.resolve(p);
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
return process.nextTick(cb.bind(null, null, cache[p]));
}
var asal = p,
seenLinks = {},
dikenali Keras = {};
// kedudukan aksara semasa dalam p
var pos;
// laluan separa setakat ini, termasuk garis miring mengekor jika ada
var semasa;
// laluan separa tanpa garis miring mengekor (kecuali apabila menunjuk pada akar)
asas var;
// laluan separa yang diimbas dalam pusingan sebelumnya, dengan garis miring
var sebelumnya;
mula ();
fungsi mula() {
// Langkau ke atas akar
var m = splitRootRe.exec(p);
pos = m[0].panjang;
semasa = m[0];
asas = m[0];
sebelumnya = '';
// Pada tingkap, semak sama ada akarnya wujud. Pada unix tidak perlu.
if (isWindows && !knownHard[base]) {
fs.lstat(asas, fungsi(err) {
jika (err) kembalikan cb(err);
dikenaliKeras[asas] = benar;
LOOP();
});
} lain {
process.nextTick(LOOP);
}
}
// berjalan di laluan itu, menukar bahagian laluan yang dipautkan dengan
sebenar mereka // nilai
fungsi LOOP() {
// berhenti jika diimbas melepasi hujung laluan
jika (pos >= p.panjang) {
jika (cache) cache[asal] = p;
kembalikan cb(null, p);
}
// cari bahagian seterusnya
nextPartRe.lastIndex = pos;
var result = nextPartRe.exec(p);
sebelumnya = semasa;
semasa = hasil[0];
asas = hasil sebelumnya[1];
pos = nextPartRe.lastIndex;
// teruskan jika bukan symlink
if (knownHard[base] || (cache && cache[base] === base)) {
proses kembali.nextTick(LOOP);
}
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
// pautan simbolik yang diketahui. tak perlu stat lagi.
kembalikan gotResolvedLink(cache[base]);
}
kembalikan fs.lstat(asas, gotStat);
}
fungsi gotStat(err, stat) {
jika (err) kembalikan cb(err);
// jika bukan pautan sym, langkau ke bahagian laluan seterusnya
jika (!stat.isSymbolicLink()) {
dikenaliKeras[asas] = benar;
jika (cache) cache[base] = base;
proses kembali.nextTick(LOOP);
}
// stat & baca pautan jika tidak dibaca sebelum ini
// panggil gotTarget sebaik sahaja sasaran pautan diketahui
// dev/ino sentiasa mengembalikan 0 pada tingkap, jadi langkau semak itu.
jika (!isWindows) {
var id = stat.dev.toString(32) ':' stat.ino.toString(32);
jika (seenLinks.hasOwnProperty(id)) {
return gotTarget(null, seenLinks[id], base);
}
}
fs.stat(asas, fungsi(err) {
jika (err) kembalikan cb(err);
fs.readlink(asas, fungsi(err, target) {
jika (!isWindows) dilihatPautan[id] = sasaran;
gotTarget(err, target);
});
});
}
fungsi gotTarget(err, target, base) {
jika (err) kembalikan cb(err);
var resolvedLink = pathModule.resolve(sebelumnya, sasaran);
jika (cache) cache[base] = solvedLink;
gotResolvedLink(resolvedLink);
}
fungsi gotResolvedLink(resolvedLink) {
// selesaikan pautan, kemudian mulakan semula
p = pathModule.resolve(resolvedLink, p.slice(pos));
mula ();
}
};

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Artikel ini akan memberi anda pemahaman yang mendalam tentang memori dan pengumpul sampah (GC) enjin NodeJS V8 saya harap ia akan membantu anda!

Perkhidmatan Node yang dibina berdasarkan bukan sekatan dan dipacu peristiwa mempunyai kelebihan penggunaan memori yang rendah dan sangat sesuai untuk mengendalikan permintaan rangkaian besar-besaran. Di bawah premis permintaan besar-besaran, isu yang berkaitan dengan "kawalan memori" perlu dipertimbangkan. 1. Mekanisme kutipan sampah V8 dan had ingatan Js dikawal oleh mesin kutipan sampah

Memilih imej Docker untuk Node mungkin kelihatan seperti perkara remeh, tetapi saiz dan potensi kelemahan imej itu boleh memberi kesan yang ketara pada proses dan keselamatan CI/CD anda. Jadi bagaimana kita memilih imej Node.js Docker yang terbaik?

Modul fail ialah enkapsulasi operasi fail asas, seperti membaca/menulis/membuka/menutup/memadam fail, dsb. Ciri terbesar modul fail ialah semua kaedah menyediakan dua versi **segerak** dan ** asynchronous**, dengan Kaedah dengan akhiran penyegerakan adalah semua kaedah penyegerakan, dan kaedah yang tidak semuanya adalah kaedah heterogen.

Node 19 telah dikeluarkan secara rasmi Artikel ini akan memberi anda penjelasan terperinci tentang 6 ciri utama Node.js 19. Saya harap ia akan membantu anda!

Bagaimanakah Node.js melakukan GC (pengumpulan sampah)? Artikel berikut akan membawa anda melaluinya.

Gelung peristiwa ialah bahagian asas Node.js dan mendayakan pengaturcaraan tak segerak dengan memastikan bahawa utas utama tidak disekat Memahami gelung peristiwa adalah penting untuk membina aplikasi yang cekap. Artikel berikut akan memberi anda pemahaman yang mendalam tentang gelung acara dalam Node.

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node ke dalam fail boleh laku. Saya harap ia akan membantu anda!
