NodeJS导出和导入模块
在我以前的文章中,我们讨论了"如何安装Enide Studio 2014 IDE"以及"如何创建Node JS应用程序"。
在讨论"如何创建新的Node JS模块以及如何在其他Node JS模块中重用它们"之前,我们首先需要对如何导出和导入Node JS模块有一定的了解。
在本文中,我们将从理论上讨论以下两个重要的Node JS概念。
- 如何导出Node JS模块
- 如何导入Node JS模块
我们将在以后的文章中特别是在以后的例子中使用这些知识。
导出NodeJS模块
我们首先要了解的是为什么我们需要导出Node JS模块?
Node JS提供了几乎所有必需的模块(我们可以在其官方上查看此更新:https://www.npmjs.com/。
也称为Node JS模块存储库)。
但是在某些实时应用程序中,我们可能具有某些应用程序功能,该功能在该应用程序中的许多地方都已使用,但在Node JS Module Repository中不可用。
在这种情况下,为了获得可重用性优势,我们需要创建自己的新Node JS模块。
仅创建新模块不足以在系统的其他模块中使用它。
我们需要导出此模块,以便其他模块可以重用它。
如果您是UI或者Java开发人员,那么您会很熟悉。
如果我们在基于Java的应用程序中具有任何公共或者可重用的组件,则我们将其开发为一个单独的项目,创建一个Jar文件,并将其添加到所需的项目类路径中。
此时,不必太担心如何创建Node JS模块。
我们将在以后的文章中讨论如何创建自己的新Node JS模块。
Node JS平台提供了一种导出以下内容的技术,以便其他模块可以重用它们而无需重新定义。
- 变量
- 功能
- 模组
要导出所有这三个,我们必须使用相同的技术。
Node JS提供了一个对象"导出"来执行此操作。
语法:
现在,我们将通过一些示例逐一查看。
其中我们仅在理论上讨论它们。
在下一篇文章中,我们将采用一个实时场景并实现一个Node JS应用程序。
如何导出JavaScript变量
我们使用Node JS"导出"对象导出Node JS模块的变量,以便其他模块可以重复使用它。
我们不只是实时导出变量。
但是,仅出于练习目的,并且也为了使更清楚,我们将分别进行讨论。
语法:
例:
让我们假设我们已经创建了一个带有一个JavaScript文件的简单Node JS项目:pi.js文件,其内容如下。
var PI = 3.1416 exports.PI = PI;
其中我们将PI变量导出为exports.PI,名称为PI。
这意味着其他Node JS项目只需使用PI名称即可非常容易地使用此变量。
如何导出JavaScript函数:
我们甚至使用Node JS相同的"导出"对象来导出Node JS模块JavaScript函数,以便其他模块可以重复使用它。
我们可以实时执行此操作,但不建议始终使用。
语法:
例:
让我们假设我们已经创建了一个带有一个JavaScript文件的简单Node JS项目:arthmetic.js文件,其内容如下。
function add(a,b){ return a + b; } function sub(a,b){ return a - b; } function mul(a,b){ return a * b; } function div(a,b){ return a/b; } exports.add = add exports.sub = sub exports.mul = mul exports.div = div
其中我们分别导出了所有4个JavaScript函数。
这意味着其他Node JS项目可以直接重复使用它们。
这是一个简单的算术应用程序。
但是,如果我们使用一些实时Node JS应用程序,则可以观察到很多JavaScript文件,并且每个文件可能包含很多功能。
在这种情况下,分别导出每个功能是非常繁琐的过程。
要解决此问题,我们需要使用如下所述的导出Node JS模块技术。
如何导出Node JS模块:
我们甚至使用Node JS相同的"导出"对象来导出Node JS模块,以便其他模块可以重用它。
建议您实时进行。
语法:
例:
让我们假设我们已经创建了一个带有一个JavaScript文件的简单Node JS项目:arthmetic.js文件,其内容如下。
exports.arthmetic = { var PI = 3.1416; function add(a,b){ return a + b; } function sub(a,b){ return a - b; } function mul(a,b){ return a * b; } function div(a,b){ return a/b; } }
其中我们仅用一个export语句就导出了所有4个JavaScript函数和PI变量。
这意味着其他Node JS项目可以非常轻松地重用所有功能和PI。
导入Node JS模块
如果我们观察到Node JS应用程序或者模块,则它可能依赖于其他现有的Node JS模块或者我们自己的模块。
模块化的主要优点是可重用性。
我们不需要重新开发相同的现有功能。
我们可以导入模块并非常轻松地重用该模块功能。
如何导入Node JS模块:
我们使用相同的技术来导入我们的模块或者现有的Node JS模块。
Node JS平台提供了一个函数调用" require()",以将一个模块导入另一个模块。
语法:
这里module-name是我们必需的Node JS模块名称。
some-name是该模块的引用名称。
此require()调用导入指定的模块并缓存到应用程序中,因此我们不需要一次又一次地导入它。
例:
- 导入我们自己的Node JS模块
- 导入现有的Node JS Module导入Node JS" express"模块;
导入Node JS"cat 鼬"模块;
此require()调用类似于Java中的" import"语句。
我们使用import语句将包,类,接口等导入另一个类或者接口。