NodeJS的导出和导入模块

在我之前的帖子中,我们讨论了“如何安装Enide Studio 2014 IDE”和“如何创建Node JS应用程序”。在讨论“如何创建新的Node JS模块并在其他Node JS模块中重用它们”之前,我们首先需要对如何导出和导入Node JS模块有一些良好的了解。在本文中,我们将从理论上讨论以下两个重要的Node JS概念。

  • How to export a Node JS Module
  • How to import a Node JS Module

我们将会在下一篇帖子中特别运用这知识,同时在我所有未来的帖子例子中也会用到。

导出一个 Node.js 模块

首先,我们需要了解为什么需要导出一个Node JS模块。Node JS已经提供了几乎所有所需的模块(我们可以在它的官方网站https://www.npmjs.com/上查看更新。它也被称为Node JS模块库)。但在一些实时应用中,我们可能会有一些应用功能,在该应用的许多地方都使用到,但在Node JS模块库中找不到。在这种情况下,为了获得可重用性的好处,我们需要创建自己的新的Node JS模块。仅仅创建新模块还不足以在系统的其他模块中使用它。我们需要导出这个模块,以便其他模块可以重用它。如果您是UI或Java开发人员,那么这对您来说是很熟悉的。如果我们在基于Java的应用程序中有任何常见或可重用的组件,那么我们会将其开发为一个独立的项目,创建一个Jar文件,并将其添加到所需的项目类路径中。现在不要太担心如何创建一个Node JS模块。我们将在以后的帖子中讨论如何创建我们自己的新Node JS模块。Node JS平台提供了一种技术来导出以下内容,以便其他模块可以在不重新定义的情况下重用它们。

  • Variable
  • Function
  • Module

要导出这三个变量,我们必须使用相同的技术。Node JS已经提供了一个对象”exports”来完成这一操作。语法:我们现在将逐个例子来看。这里我们只是从理论上讨论它们。在我下一篇博文中,我们将举一个实时场景并实现一个Node JS应用程序。如何导出JavaScript变量:我们使用Node JS的”exports”对象来导出一个Node JS模块的变量,以便其他模块可以重用它。在实际情况中,我们不仅仅是导出一个变量。但是出于练习的目的,为了让初学者更清楚,我们将单独讨论它。语法:例子:假设我们已经创建了一个简单的Node JS项目,其中包含一个JavaScript文件:pi.js文件,其内容如下。

var PI = 3.1416
exports.PI = PI;

这里我们将PI变量导出为exports.PI,并将其命名为PI。这意味着其他的Node JS项目可以很容易地通过使用PI名称来使用这个变量。如何导出一个JavaScript函数:我们使用Node JS相同的“exports”对象来导出一个Node JS模块的JavaScript函数,以便其他模块可以重用它。在实时环境中,我们可能会这样做,但不建议始终使用。语法:例子:让我们假设我们创建了一个简单的Node JS项目,其中包含一个名为arthmetic.js的JavaScript文件,其内容如下。


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相同的“exports”对象来导出一个Node JS模块,以便其他模块可以重用它。在实时环境中,这是推荐的。语法:示例:假设我们创建了一个简单的Node JS项目,其中包含一个JavaScript文件: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;
}
}

在这里,我们只使用一个exports语句就导出了所有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()调用导入指定的模块并缓存在应用程序中,这样我们就不需要再次导入它。例子:

  • To import our own Node JS module
    var arthmetic = require(“arthmetic”);
  • To import existing Node JS Module Import Node JS “express” module;
    var arthmetic = require(“express”);Import Node JS “mongoose” module;
    var mongoose = require(“mongoose”);

这个 require() 调用与 Java 中的 “import” 语句类似。我们使用 import 语句将一个包、类、接口等导入到另一个类或接口中。现在我们已经了解了如何导出和导入 Node JS 模块的知识。我们将在下一篇文章中利用这些知识来创建自己的 Node JS 模块。

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds