NodeJS ialah persekitaran berjalan JavaScript berdasarkan enjin Chrome V8, yang membolehkan kod JavaScript dilaksanakan pada bahagian pelayan, dengan itu mencapai pembangunan aplikasi rangkaian berprestasi tinggi. Dalam NodeJS, terdapat beberapa objek dan pembolehubah global yang boleh digunakan secara langsung dalam mana-mana modul tanpa mengimportnya melalui fungsi require(). Artikel ini akan memperkenalkan objek global dan pembolehubah NodeJS, serta penggunaan dan senarionya.
global
: Ini ialah objek peringkat atas dalam NodeJS dan ia agak Untuk objek tetingkap dalam penyemak imbas, ia mengandungi semua pembolehubah dan fungsi global. Dalam objek global, beberapa sifat dan kaedah adalah unik untuk NodeJS, seperti proses, konsol, Penampan, dsb., dan sesetengahnya diwarisi daripada JavaScript, seperti Objek, Array, Tarikh, dsb. Kita boleh mengakses sifat dan kaedah ini melalui global, atau kita boleh meninggalkan global dan mengaksesnya secara langsung. [Cadangan tutorial berkaitan: tutorial video nodejs, Pengajaran pengaturcaraan]
Contohnya:
global.console.log('Hello, NodeJS'); // 输出Hello, NodeJS console.log('Hello, NodeJS'); // 输出Hello, NodeJS
process
: Ini ialah objek global yang menyediakan maklumat dan kawalan tentang proses NodeJS semasa. Melalui objek proses, kita boleh mendapatkan persekitaran berjalan, parameter, penggunaan memori, pemprosesan isyarat, dan lain-lain proses. Kami juga boleh menggunakan objek proses untuk keluar dari proses, menukar direktori kerja, menetapkan pembolehubah persekitaran, dsb. Contohnya:
console.log(process.version); // 输出NodeJS的版本号 console.log(process.argv); // 输出进程启动时的参数数组 process.exit(1); // 退出进程并返回状态码1 process.chdir('/home'); // 改变工作目录为/home process.env.NODE_ENV = 'production'; // 设置环境变量NODE_ENV为production
console
: Ini ialah objek global yang menyediakan fungsi mencetak maklumat log dan penyahpepijatan. Melalui objek konsol, kami boleh mengeluarkan tahap log yang berbeza, seperti maklumat am, maklumat amaran, maklumat ralat, dsb. Kami juga boleh menggunakan objek konsol untuk pemasaan, penegasan, penjejakan, dsb. Contohnya:
console.log('This is a log message'); // 输出普通信息 console.warn('This is a warning message'); // 输出警告信息 console.error('This is an error message'); // 输出错误信息 console.time('timer'); // 开始计时 // do some work console.timeEnd('timer'); // 结束计时并输出耗时 console.assert(1 + 1 === 3, 'Wrong!'); // 如果表达式为假,则输出错误信息 console.trace(); // 输出当前位置的堆栈追踪
Buffer
: Ini ialah objek global yang menyediakan fungsi untuk mengendalikan data binari. Dalam NodeJS, banyak modul menggunakan Penampan untuk memproses data binari, seperti modul sistem fail, modul rangkaian, dsb. Kelas Penampan ialah kelas global yang boleh kita gunakan secara langsung untuk mencipta dan mengendalikan objek Penampan. Contohnya:
let buf = Buffer.from('Hello, NodeJS'); // 从字符串创建一个Buffer对象 console.log(buf.length); // 输出Buffer对象的长度(字节数) console.log(buf.toString()); // 输出Buffer对象转换为字符串 let buf2 = Buffer.alloc(10); // 创建一个长度为10字节的空Buffer对象 buf.copy(buf2); // 将buf复制到buf2中 console.log(buf2.toString()); // 输出buf2转换为字符串
__dirname
: Ini ialah rentetan yang mewakili laluan mutlak ke direktori tempat skrip yang sedang dilaksanakan berada. Ambil perhatian bahawa ini bukan pemalar, tetapi nilai dinamik yang berubah bergantung pada tempat skrip dilaksanakan. Kita boleh menggunakan __dirname
untuk menyambung laluan fail, contohnya: const filePath = __dirname + '/data.txt';
__filename
: Ini ialah rentetan yang mewakili nama fail bagi skrip yang sedang dilaksanakan (termasuk yang mutlak laluan). Sama seperti __dirname
, ini ialah nilai dinamik yang berubah bergantung pada tempat skrip dilaksanakan. Kita boleh menggunakan __filename
untuk mendapatkan nama fail atau sambungan fail, contohnya: const fileName = __filename.split('/').pop();
module
: Ini ialah objek yang mewakili modul yang sepadan dengan skrip yang sedang dilaksanakan . Setiap modul mempunyai skop tersendiri Hanya melalui module.exports
atau exports
pembolehubah atau fungsi di dalam modul didedahkan kepada penggunaan luaran. Kita boleh menggunakan module.id
untuk mendapatkan pengecam unik modul, atau module.parent
untuk mendapatkan modul induk yang dipanggil modul.
exports
: Ini ialah objek, yang merujuk kepada module.exports
. Kita boleh mengeksport pembolehubah atau fungsi di dalam modul dengan menambahkan atribut atau kaedah kepada exports
, contohnya: exports.hello = function() { console.log('Hello'); };
require
: Ini ialah fungsi yang memuatkan dan Laksanakan yang lain modul dan mengembalikan kandungan yang dieksport oleh modul ini. Kita boleh menggunakan laluan relatif atau laluan mutlak untuk menentukan modul yang akan dimuatkan, contohnya:
const fs = require('fs'); // 加载内置模块 const math = require('./math.js'); // 加载自定义模块
Di hadapan harian -end development Objek global NodeJS lebih kurang digunakan. Artikel ini memperkenalkan secara ringkas beberapa objek global yang biasa digunakan Anda juga perlu memberi perhatian kepada beberapa isu semasa menggunakannya, seperti mengelakkan pencemaran pembolehubah global, membezakan antara persekitaran penyemak imbas dan NodeJS. persekitaran, dan penggunaan cache modul secara rasional, dsb., untuk meningkatkan kualiti dan prestasi kod.
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!
Atas ialah kandungan terperinci Analisis ringkas tentang objek dan pembolehubah global yang biasa digunakan dalam Node. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!