モジュール基本モジュール

モジュールグローバル

グローバルオブジェクト、すべてのスクリプトがアクセスできるベースオブジェクト

オブジェクト

Buffer

io読み取りおよび書き込みのデータ処理に使用されるバイナリデータバッファオブジェクトBufferオブジェクトを参照してください。

1
Buffer global.Buffer;

console

コンソールアクセスオブジェクト

1
console global.console;

process

プロセスオブジェクト

1
process global.process;

静的機能

run

スクリプトを実行する

1 2
static global.run(String fname, Array argv = []);

呼び出しパラメーター:

  • fname :文字列、実行するスクリプトパスを指定します
  • argv :配列、実行するパラメーターを指定します。このパラメーターは、スクリプトでargvを使用して取得できます。

require

モジュールをロードしてモジュールオブジェクトを返します。詳細については、@ refモジュールを参照してください。

1
static Value global.require(String id);

呼び出しパラメーター:

  • id :文字列、ロードするモジュールの名前を指定します

戻り結果:

  • Value 、ロードされたモジュールのエクスポートオブジェクトを返します

requireは、基本モジュールとファイルモジュールをロードするために使用できます。

基本モジュールは、サンドボックスの作成時に初期化されるモジュールです。require( " net ")など、参照時に対応するIDを渡すだけで済みます。

ファイルモジュールはユーザー定義モジュールであり、参照時に./または../で始まる相対パスを渡す必要があります。ファイルモジュールは、.js、.jsc、およびjsonファイルをjsonます。

ファイルモジュールはpackage.json形式もサポートします。モジュールにディレクトリ構造がある場合、requireは最初にpackage.jsonのmainを照会し、見つからない場合は、パスの下にindex.js、index.jsc、またはindex.jsonをロードしようとします。

参照パスが./または../で始まっておらず、基本モジュールでない場合は、現在のモジュールが配置されているパスでnode_modulesを検索し、親ディレクトリを再帰的に検索する必要があります。

基本的なプロセスは次のとおりです。

%0 start start is_native is internal module? start->is_native resolve path.resolve has_file module exists? resolve->has_file search recursive lookup node_modules from the current path search->has_file load load end end load->end is_native->end Yes is_mod is module? is_native->is_mod No is_mod->search Yes is_abs is absolute? is_mod->is_abs No is_abs->resolve No is_abs->has_file Yes has_file->load Yes has_ext module.js exists? has_file->has_ext No has_ext->load Yes has_package /package.json exists? has_ext->has_package No has_main main exists? has_package->has_main Yes has_index index.js exists? has_package->has_index No has_main->load Yes has_main->has_index No has_index->load Yes has_index->end No

setTimeout

指定された時間の後に関数を呼び出します

1 2 3
static Timer global.setTimeout(Function callback, Number timeout = 1, ...args);

呼び出しパラメーター:

  • callback :関数、 callback関数を指定します
  • timeout :数値。遅延時間をミリ秒単位で指定します。 2 ^ 31を超える場合は、すぐに実行してください。
  • args :...、追加のパラメーター、指定されたコールバックに渡されます、オプション。

戻り結果:

  • Timer 、タイマーオブジェクトを返します

clearTimeout

指定されたタイマーをクリアする

1
static global.clearTimeout(Value t);

呼び出しパラメーター:

  • t :値、クリアするタイマーを指定します

setInterval

指定された時間間隔ごとに関数を呼び出します

1 2 3
static Timer global.setInterval(Function callback, Number timeout, ...args);

呼び出しパラメーター:

  • callback :関数、 callback関数を指定します
  • timeout :数値、指定された間隔の時間(ミリ秒単位)。 2 ^ 31を超える場合は、すぐに実行してください。
  • args :...、追加のパラメーター、指定されたコールバックに渡されます、オプション。

戻り結果:

  • Timer 、タイマーオブジェクトを返します

clearInterval

指定されたタイマーをクリアする

1
static global.clearInterval(Value t);

呼び出しパラメーター:

  • t :値、クリアするタイマーを指定します

setHrInterval

この関数は、指定された時間間隔ごとに呼び出されます。これは、実行中のJavaScriptスクリプト実行タイマーをアクティブに中断する高精度タイマーです。

1 2 3
static Timer global.setHrInterval(Function callback, Number timeout, ...args);

呼び出しパラメーター:

  • callback :関数、 callback関数を指定します
  • timeout :数値、指定された間隔の時間(ミリ秒単位)。 2 ^ 31を超える場合は、すぐに実行してください。
  • args :...、追加のパラメーター、指定されたコールバックに渡されます、オプション。

戻り結果:

  • Timer 、タイマーオブジェクトを返します

setHrIntervalのタイマーは、コールバックを実行するために実行中のコードを中断するため、コールバック関数の他のモジュールに影響を与える可能性のあるデータを変更したり、コールバックで非同期としてマークされたapi関数を呼び出したりしないでください。そうしないと、予期しない結果が生成されます。例えば:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

このコードでは、コードを最適化するときにJavaScriptがこのサイクル中にcntが変更されないと判断するため、8行目のループはcntの変更によって終了しません。


clearHrInterval

指定されたタイマーをクリアする

1
static global.clearHrInterval(Value t);

呼び出しパラメーター:

  • t :値、クリアするタイマーを指定します

setImmediate

次の空き時間にすぐにコールバック関数を実行します

1 2
static Timer global.setImmediate(Function callback, ...args);

呼び出しパラメーター:

  • callback :関数、 callback関数を指定します
  • args :...、追加のパラメーター、指定されたコールバックに渡されます、オプション。

戻り結果:

  • Timer 、タイマーオブジェクトを返します

clearImmediate

指定されたタイマーをクリアする

1
static global.clearImmediate(Value t);

呼び出しパラメーター:

  • t :値、クリアするタイマーを指定します

GC

必須のゴミ収集

1
static global.GC();

repl

インタラクティブモードに入ると、内部コマンドとコードをインタラクティブに実行できます。これは、jsの起動時にのみ参照できます。

1
static global.repl(Array cmds = []);

呼び出しパラメーター:

  • cmds :配列、補足コマンド

パラメータcmdの形式は次のとおりです。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

インタラクティブモードに入ると、内部コマンドとコードをインタラクティブに実行できます。これは、jsの起動時にのみ参照できます。

1 2
static global.repl(Stream out, Array cmds = []);

呼び出しパラメーター:

  • outStream 、入力および出力ストリームオブジェクト、通常はネットワーク接続
  • cmds :配列、補足コマンド

一つだけStream REPLが同時に許可されている。新しいときStream REPLが作成され、以前のREPLが閉じられます。

パラメータcmdの形式は次のとおりです。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
[{ cmd: ".test", help: "this is a test", exec: function(argv) { console.log(argv); } }, { cmd: ".test1", help: "this is an other test", exec: function(argv) { console.log(argv); } } ]

静的プロパティ

Master

WorkerWorkerホストオブジェクト、 Worker入力スクリプトでのみ有効

1
static readonly Worker global.Master;

global

オブジェクト、グローバルオブジェクト

1
static readonly Object new global;

argv

配列、現在のスクリプトの実行中のパラメーターを取得し、jsを起動してプロセスの起動パラメーターを取得し、runによって実行されたスクリプトが渡されたパラメーターを取得します

1
static readonly Array global.argv;

__filename

文字列、現在のスクリプトファイル名

1
static readonly String global.__filename;

__dirname

文字列、現在のスクリプトが配置されているディレクトリ

1
static readonly String global.__dirname;