Apakah pembolehubah global dalam nodejs?

青灯夜游
Lepaskan: 2021-11-23 17:46:42
asal
3592 orang telah melayarinya

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.

Apakah pembolehubah global dalam nodejs?

Persekitaran pengendalian tutorial ini: sistem Windows 7, nodejs versi 12.19.0, komputer DELL G3.

Pembolehubah global:

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 );
Salin selepas log masuk

Laksanakan fail main.js, kodnya adalah seperti berikut:

$ node main.js
/web/com/runoob/nodejs/main.js
Salin selepas log masuk

__dirname

__dirname mewakili direktori di mana skrip yang sedang dilaksanakan berada.

Contoh

Buat fail main.js, kodnya adalah seperti berikut:

// 输出全局变量
__dirname 的值console.log( __dirname );
Salin selepas log masuk

Laksanakan fail main.js, kodnya adalah seperti berikut:

$ node main.js
/web/com/runoob/nodejs
Salin selepas log masuk

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 kuasi-global

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;
Salin selepas log masuk

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);};
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan