什么是nodejs模块

  介绍

本篇内容介绍了“什么是nodejs模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

模块是Node . js应用程序的基本组成部分,文件和模块是一一对应的,一个nodejs模块就是一个文件,而这个文件可能是JavaScript代码,JSON或者编译过的“C/c++”扩展,引用模块可用“需要(& # 39;文件路径& # 39;)“语句。

什么是nodejs模块

本教程操作环境:windows7多系统,nodejs 12.19.0版,戴尔G3电脑。

为了让Node . js的文件可以相互调用,Node . js提供了一个简单的模块系统。

模块是节点。js应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个节点。js文件就是一个模块,这个文件可能是JavaScript代码,JSON或者编译过的C/c++扩展。

对于nodejs来说,一个文件就是一个模块,你可以出口接口出去,也可以要求别的模块进来。

//,module1.js   时间=exports.func1 函数(){   ,,,,,,,console.log (& # 39; func1 得到module1 叫# 39;);   }

module1把函数func1通过出口对象作为模块的公共访问接口。

//module2.js   var  in_module1 =,要求(& # 39;。/module1.js& # 39;);   in_module1.func1 ();   时间=exports.func2 函数(){   ,,,,,,,console.log (& # 39; func2 得到module2 叫# 39;);   }

module2把module1需要进的来,这个时候,in_module1就相当于module1的出口对象。当使用in_module1调用func1的时候,相当于通过module1的出口对象调用func1。

同时,module2自己的函数func2也通过模块的出口对象作为module2公共接口。

//,module3.js   var  in_module2 =,要求(& # 39;。/module2.js& # 39;);   in_module2.func2 ();

同理,module3把module2需要进的来,此时in_module2就相当于module2的出口对象。

运行结果如下:

rlan@rlan-LA: ~/nodejs/nodetest美元,node  module2.js   func1 得到module1 调用   rlan@rlan-LA: ~/nodejs/nodetest美元,node  module3.js   func1 得到module1 调用   func2 得到module2 ,叫做

nodejs引入模块不仅仅得到模块的公共接口,同时会把文件里别的语句一并引用进来,比如:

module1。js改为

//,module2.js   console.log(& # 39;却;能够is 拷贝module2& # 39;);   var  in_module1 =,要求(& # 39;。/module1.js& # 39;);   ,,   in_module1.func1 ();   ,,   时间=exports.func2 函数(){   ,,,,,,console.log (& # 39; func2 得到module2 叫# 39;);   }

module2引入了module1的func1函数,同时执行了module1中的打印语句:

rlan@rlan-LA: ~/nodejs/nodetest美元,node  module1.js   却,能够is  module1的拷贝   rlan@rlan-LA: ~/nodejs/nodetest美元,node  module2.js   却;能够is  module2 拷贝,,,,,,,,,今天早上,module2 自我   却;能够is  module1 拷贝,,,,,,,,,今天早上,require  module1的   func1 得到module1  nbsp;,安康;module2 自我

现在,module2载入了module1, module3载入了module2,如果module3再载入一次module1会怎么样呢?

//,module3.js   var  in_module1 =,要求(& # 39;。/module1.js& # 39;);   var  in_module2 =,要求(& # 39;。/module2.js& # 39;);      in_module1.func1 ();   in_module2.func2 ();

这时候,module3首先载入了module1,又载入了module2, module2自己又载入了module1的部分,运行结果为

rlan@rlan-LA: ~/nodejs/nodetest美元,node  module3.js   却;能够is  module1 拷贝,,,,,,,,今天早上,require  module1   却;能够is  module2 拷贝,,,,,,,,什么,,require  module2   func1 得到module1  nbsp;作用;require  module2   func1 得到module1  nbsp;作用;module3 自我   func2 得到module2  nbsp;作用;,module3 自我

假如把module3的需要顺序调整一下:

//,module3.js   var  in_module2 =,要求(& # 39;。/module2.js& # 39;);   var  in_module1 =,要求(& # 39;。/module1.js& # 39;);      in_module1.func1 ();   in_module2.func2 ();

什么是nodejs模块