Nodejs 第 10 章 (グローバル変数)

Nodejsでグローバル変数を定義するにはどうすればよいですか?

global を使用して、nodejs でグローバル変数を定義します。定義された変数は、インポートされたファイルからもアクセスできます。たとえば、a.js global.xxx = 'xxx' require('xxx.js')xxx.js からも変数にアクセスできます。ブラウザでは、定義したグローバル変数はすべてウィンドウ内に表示され、 nodejs はグローバルです、異なる環境を判断する必要があるため、 ECMAScript 2020 でglobalThisグローバル変数が登場しました。これは、nodejs 環境では自動的にグローバルに切り替わり、ブラウザ環境では自動的にウィンドウを切り替えるので非常に便利です

その他のグローバルAPIについて

nodejsにはDOMやBOMがないため、これらのAPI以外は基本的に他のECMAscript APIが利用可能です

例えば

setTimeout setInterval Promise Math  console  Date fetch(node v18) 等...

これらの API は通常どおり使用できます

nodejs 組み込みグローバル API

__dirname

現在のモジュールの目录絶対パスを表します

__filename

文件ファイル名とファイル拡張子を含む現在のモジュールの絶対パスを表します。

require module

モジュールのインポートとモジュールのエクスポートについては、前の章で詳しく説明しました。

process
  1. process.argv: これはコマンドライン引数を含む配列です。最初の要素は Node.js の実行パス、2 番目の要素は現在実行中の JavaScript ファイルのパス、次の要素はスクリプトに渡されるコマンド ライン パラメータです。
  2. process.env: これは、現在の環境変数を含むオブジェクトです。によって環境変数にアクセスして操作できますprocess.env
  3. process.cwd(): このメソッドは、現在の作業ディレクトリのパスを返します。
  4. process.on(event, listener): イベントリスナーを登録するために使用されます。を使用してprocess.onなどのイベントをリッスンし、イベントの発生時に対応するコールバック関数を実行できます。exituncaughtException
  5. process.exit([code]): 現在の Node.js プロセスを終了するために使用されます。オプションの終了コードを引数として指定できます。
  6. process.pid: このプロパティは、現在のプロセスの PID (プロセス ID) を返します。

これらはprocessオブジェクトの一般的に使用されるプロパティとメソッドの一部にすぎません。プロセスの監視、シグナル処理の設定、IPC メッセージの送信などに使用できるプロパティやメソッドは他にもたくさんあります。

需要注意的是,process对象是一个全局对象,可以在任何模块中直接访问,无需导入或定义。

Buffer
  1. 创建 Buffer 实例:

    • Buffer.alloc(size[, fill[, encoding]]): 创建一个指定大小的新的Buffer实例,初始内容为零。fill参数可用于填充缓冲区,encoding参数指定填充的字符编码。
    • Buffer.from(array): 创建一个包含给定数组的Buffer实例。
    • Buffer.from(string[, encoding]): 创建一个包含给定字符串的Buffer实例。
  2. 读取和写入数据:

    • buffer[index]: 通过索引读取或写入Buffer实例中的特定字节。
    • buffer.length: 获取Buffer实例的字节长度。
    • buffer.toString([encoding[, start[, end]]]): 将Buffer实例转换为字符串。
  3. 转换数据:

    • buffer.toJSON(): 将Buffer实例转换为JSON对象。
    • buffer.slice([start[, end]]): 返回一个新的Buffer实例,其中包含原始Buffer实例的部分内容。
  4. 其他方法:

    • Buffer.isBuffer(obj): 检查一个对象是否是Buffer实例。
    • Buffer.concat(list[, totalLength]): 将一组Buffer实例或字节数组连接起来形成一个新的Buffer实例。

请注意,从Node.js 6.0版本开始,Buffer构造函数的使用已被弃用,推荐使用Buffer.alloc()Buffer.from()等方法来创建Buffer实例。

Buffer类在处理文件、网络通信、加密和解密等操作中非常有用,尤其是在需要处理二进制数据时

おすすめ

転載: juejin.im/post/7266009957576884239