ホームページ  >  記事  >  ウェブフロントエンド  >  node.js は、require() 関数を使用して modules_node.js をロードします

node.js は、require() 関数を使用して modules_node.js をロードします

WBOY
WBOYオリジナル
2016-05-16 16:30:221636ブラウズ

詳しい説明はコメントに書いてありますので、ここでは詳しく説明しません。コメントを鵜呑みにしないでください。

コードをコピーします コードは次のとおりです:

/*ノードでは、require() 関数を使用してモジュールをロードできます。
※require関数はパラメータを使用しており、パラメータ値はモジュールのファイル名をフルパスで指定することも、nodeで提供するモジュールを使用する場合はモジュール名を指定するだけです。必須関数
* */
// ページ 2.js を作成します。コードは次のとおりです
var name="シシ博士";
エクスポート.name=名前;
// ページ 1.js を作成します。コードは次のとおりです
var two=require("./2.js");
console.log(two.name);
//出力結果:シシ博士
/*
※node内のスクリプトファイルはすべてモジュールファイルなので、1.jsもモジュールファイルであり、ファイルはコマンドラインウィンドウのnodeコマンドで直接実行されるため、モジュールファイルはnode内で定義されます。アプリケーション
* 現在のモジュールがメインモジュールであるかどうかを検出するには、次のメソッドを使用できます
* */
if(module===require.main){
console.log("現在のモジュールはメインモジュールです");
}
//出力結果: 現在のモジュールがメインモジュール
//2.js コード
var name="シシ博士";
console.log(名前);
エクスポート.name=名前;
//1.js コード:
var two=require("./2.js");
var two=require("./2.js");
//2回参照されていますが、console.log(name)の出力は1回しか実行されません。
/*require.resolve(str)
* ノードでは、この関数を使用してモジュール ファイルのファイル名を完全な絶対パスでクエリできます。
* */
var url=require.resolve("./2");
console.log(url);
//出力結果:E:nodegys2.js
/*require.cache
* ノードでは、この属性はロードされたすべてのモジュールのキャッシュ領域を表します。
* */
var two=require("./2.js");
var queue=require.cache;
console.log(キャッシュ);
/*出力結果:
* { 'E:\node\gys\1.js':
{ id: '.',
エクスポート: {}、
親: null、
ファイル名: 'E:\node\gys\1.js',
ロード済み: false、
子: [ [オブジェクト] ]、
パス:
[ 'E:\node\gys\node_modules',
'E:\node\node_modules',
'E:\node_modules' ] },
'E:\node\gys\2.js':
{ id: 'E:\node\gys\2.js',
エクスポート: { 名前: 'シシ博士' }、
親:
{ id: '.',
エクスポート: {}、
親: null、
ファイル名: 'E:\node\gys\1.js',
ロード済み: false、
子: [オブジェクト]、
パス: [オブジェクト] },
ファイル名: 'E:\node\gys\2.js',
ロード済み: true、
子供: []、
パス:
[ 'E:\node\gys\node_modules',
'E:\node\node_modules',
'E:\node_modules' ] } }
* */
//2.js コード
var name="シシ博士";
console.log(名前);
//1.js コード
//delete キーワードを使用してキャッシュ領域にキャッシュされたモジュール オブジェクトを削除すると、次回モジュールがロードされるときにモジュール内のコードが再実行されます。 使用法コード:
var two=require("./2.js");
var two1=require("./2.js");
console.log("削除前")
delete require.cache[require.resolve("./2.js")];
console.log("削除後");
var two2=require("./2.js");
/*
* 出力結果:
* シシ博士
※削除前
※削除後
* シシ博士
* */

ノードの require() 関数の使い方は理解できましたか? この記事は私自身の理解に基づいていますので、抜けがある場合は修正してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。