ホームページ > 記事 > ウェブフロントエンド > Node で一般的に使用されるグローバル オブジェクトと変数の簡単な分析
NodeJS は、Chrome V8 エンジンをベースとした JavaScript 実行環境であり、サーバー側で JavaScript コードを実行できるため、高パフォーマンスのネットワーク アプリケーション開発を実現できます。 NodeJS には、require() 関数を通じてインポートしなくても、任意のモジュールで直接使用できるグローバル オブジェクトと変数がいくつかあります。この記事では、NodeJS のグローバル オブジェクトと変数、およびその使用方法とシナリオを紹介します。
global: これはトップレベルのオブジェクトですNodeJS オブジェクト。これはブラウザーのウィンドウ オブジェクトに相当し、すべてのグローバル変数と関数が含まれます。グローバル オブジェクトでは、プロセス、コンソール、バッファーなどの一部のプロパティとメソッドは NodeJS に固有であり、オブジェクト、配列、日付などの一部は JavaScript から継承されます。これらのプロパティとメソッドには、グローバルを通じてアクセスすることも、グローバルを省略して直接アクセスすることもできます。 [関連チュートリアルの推奨事項:
nodejs ビデオ チュートリアル 、プログラミング教育 ]
global.console.log('Hello, NodeJS'); // 输出Hello, NodeJS console.log('Hello, NodeJS'); // 输出Hello, NodeJS
プロセス: これは、現在の NodeJS プロセスに関する情報と制御を提供するグローバル オブジェクトです。プロセス オブジェクトを通じて、プロセスの実行環境、パラメータ、メモリ使用量、信号処理などを取得できます。プロセス オブジェクトを使用して、プロセスの終了、作業ディレクトリの変更、環境変数の設定などを行うこともできます。例:
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: これは、ログおよびデバッグ情報を出力する機能を提供するグローバル オブジェクトです。コンソール オブジェクトを通じて、一般情報、警告情報、エラー情報など、さまざまなレベルのログを出力できます。タイミング、アサーション、追跡などにコンソール オブジェクトを使用することもできます。例:
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: これは、バイナリ データを操作するための関数を提供するグローバル オブジェクトです。 NodeJS では、ファイル システム モジュール、ネットワーク モジュールなど、多くのモジュールがバッファを使用してバイナリ データを処理します。 Buffer クラスは、Buffer オブジェクトの作成と操作に直接使用できるグローバル クラスです。例:
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: これは、現在実行中のスクリプトが配置されているディレクトリへの絶対パスを表す文字列です。これは定数ではなく、スクリプトが実行される場所に応じて変化する動的な値であることに注意してください。
__dirname を使用してファイル パスを連結できます。例:
const filePath = __dirname '/data.txt';
__filename : 現在実行中のスクリプトのファイル名を表す文字列(絶対パスを含む)です。
__dirname と同様に、これもスクリプトが実行される場所に応じて変化する動的な値です。
__filename を使用して、ファイル名またはファイル拡張子を取得できます。例:
const fileName = __filename.split('/').pop();
module: これは、現在実行中のスクリプトに対応するモジュールを表すオブジェクトです。各モジュールには独自のスコープがあり、モジュール内の変数や関数を外部に公開できるのは、
module.exports または
exports を介する場合のみです。
module.id を使用してモジュールの一意の識別子を取得するか、
module.parent を使用してモジュールを呼び出した親モジュールを取得できます。
exports: これは、
module.exports への参照であるオブジェクトです。属性またはメソッドを
exports に追加することで、モジュール内の変数または関数をエクスポートできます。例:
exports.hello = function() { console.log('Hello'); };
require: これは、他のモジュールをロードして実行し、モジュールによってエクスポートされたコンテンツを返すために使用される関数です。相対パスまたは絶対パスを使用して、ロードするモジュールを指定できます。たとえば、次のようになります。開発または NodeJS グローバル オブジェクトは多かれ少なかれ使用されます。この記事では、一般的に使用されるグローバル オブジェクトをいくつか紹介します。また、グローバル変数の汚染の回避、ブラウザ環境と NodeJS 環境の区別など、グローバル オブジェクトを使用する際のいくつかの問題にも注意する必要があります。コードの品質とパフォーマンスを向上させるために、モジュール キャッシュ メカニズムなどを合理的に使用します。
以上がNode で一般的に使用されるグローバル オブジェクトと変数の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。