NodeJS导出和导入模块

时间:2020-02-23 14:41:10  来源:igfitidea点击:

在我以前的文章中,我们讨论了"如何安装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语句将包,类,接口等导入另一个类或者接口。