Dalam nodejs, terdapat dua pembolehubah global: 1. "__filename", yang mewakili nama fail skrip yang sedang dilaksanakan dan boleh mengeluarkan laluan mutlak lokasi fail 2. "__dirname", yang mewakili pelaksanaan semasa Direktori tempat skrip berada.
Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.
1) _filename: Menuding pada nama fail skrip yang sedang dijalankan.
2) _dirname: Menuding ke direktori tempat skrip yang sedang dijalankan berada.
__filename
__filename mewakili nama fail bagi skrip yang sedang dilaksanakan. Ia akan mengeluarkan laluan mutlak lokasi fail, dan mungkin tidak sama dengan nama fail yang ditentukan oleh parameter baris arahan. Jika dalam modul, nilai yang dikembalikan ialah laluan ke fail modul.
Contoh
Buat fail main.js, kodnya adalah seperti berikut:
// 输出全局变量 __filename 的值console.log( __filename );
Laksanakan fail main.js, kodnya adalah seperti berikut:
$ node main.js /web/com/runoob/nodejs/main.js
__dirname
__dirname mewakili direktori di mana skrip yang sedang dilaksanakan berada.
Contoh
Buat fail main.js, kodnya adalah seperti berikut:
// 输出全局变量 __dirname 的值console.log( __dirname );
Laksanakan fail main.js, kodnya adalah seperti berikut:
$ node main.js /web/com/runoob/nodejs
Objek global dan pembolehubah global:
Peranan global yang paling asas ialah berfungsi sebagai tuan rumah pembolehubah global. Menurut takrifan ECMAScript, pembolehubah yang memenuhi syarat berikut ialah pembolehubah global:
pembolehubah yang ditakrifkan pada peringkat paling luar bagi objek global yang ditakrifkan secara tersirat (pembolehubah tanpa penetapan langsung).
Apabila anda mentakrifkan pembolehubah global, pembolehubah itu juga akan menjadi hak milik objek global, dan begitu juga sebaliknya. Perlu diingat bahawa dalam Node.js anda tidak boleh mentakrifkan pembolehubah pada tahap paling luar, kerana semua kod pengguna tergolong dalam modul semasa, dan modul itu sendiri bukanlah konteks paling luar.
Pembolehubah setempat di dalam modul pembolehubah pseudo-global terutamanya modul, modul.eksport, eksport, dsb.
Pembolehubah modul merujuk kepada modul semasa. Pembolehubah module.exports mewakili antara muka output luaran modul semasa Apabila fail lain memuatkan modul, mereka sebenarnya membaca pembolehubah module.exports.
module.id Pengecam modul, biasanya nama fail modul.
module.filename Nama fail modul.
module.loaded mengembalikan nilai Boolean yang menunjukkan sama ada modul telah dimuatkan.
module.parent mengembalikan modul yang menggunakan modul ini.
module.children mengembalikan tatasusunan yang mewakili modul lain untuk digunakan oleh modul ini.
Apa yang perlu dinyatakan di sini ialah pembolehubah eksport sebenarnya adalah pautan ke objek module.exports, yang bersamaan dengan baris perintah sedemikian di kepala setiap modul.
var exports = module.exports;
Hasilnya ialah apabila mengeksport antara muka modul ke dunia luar, anda boleh menambah kaedah pada objek eksport, tetapi anda tidak boleh terus menghalakan pembolehubah eksport ke fungsi:
exports.自定义模块 = function (x){ console.log(x);};
Seperti di atas adalah tidak sah kerana ia memutuskan hubungan antara eksport dan modul.eksport. Walau bagaimanapun, adalah mungkin untuk menulis perkara berikut.
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs! !
Atas ialah kandungan terperinci Apakah pembolehubah global dalam nodejs?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!