本篇内容介绍了“什么是nodejs模块”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
模块是Node . js应用程序的基本组成部分,文件和模块是一一对应的,一个nodejs模块就是一个文件,而这个文件可能是JavaScript代码,JSON或者编译过的“C/c++”扩展,引用模块可用“需要(& # 39;文件路径& # 39;)“语句。
引用>
本教程操作环境: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模块