如何创建Node JS可重用模块

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

在我之前的文章中,我们讨论了"如何导出和导入Node JS模块"以及语法和一些示例。
如果您还没有阅读过我以前的文章,请先阅读它们,然后回到现在为止,因为从现在开始,我们将利用这些知识来开发所有示例。

我们已经讨论过Node JS是模块化平台。
Node JS平台包含许多由Node JS或者第三方客户端开发的模块或者软件包。
我想您对这些现有Node JS模块的实现有一定的好奇心。

Node JS平台提供了一种方法来创建我们自己的模块(如果需要)以符合我们的项目要求。
创建我们自己的Node JS模块非常简单容易。

我们将在本文中讨论创建自己的Node JS模块的方法,以及如何将该模块用作Node JS库中的其他模块。

实时场景:我想我们都是开发人员,甚至是学术界人士,都已经开发了一个简单的程序来打印"斐波那契数列"。

斐波那契数列是一个数字序列,其中前两个数字为1、1,每个随后的数字为前两个数字的总和。
例如1,1,2,3,5,8,13等等。

要开发自定义或者我们自己的Node JS模块或者包,我们需要执行以下两个步骤:

  • 创建新的Node JS模块
  • 发布我们自己的Node JS模块

我们将使用上述场景详细讨论这两个步骤。

如何创建新的Node JS模块

我们将开发一个名为" fabonacci"的新Node JS模块。
我们将使用Enide Studio IDE 2014来开发此示例。

请使用以下步骤创建新的Node JS模块:

  • 创建一个Node JS项目(有关完整步骤,请参阅"使用Node REPL(CLI)和Node IDE的Node JS基本示例"帖子)输入项目名称:fabonacci选择要使用的模板:无/空

  • 它使用一个README.md文件创建一个新的Node JS Project,如下所示;

  • 创建一个名为" fabonacci.js"的Java脚本文件

  • 提供实现以按如下所示在斐波那契序列中生成数字的实现。
    fabonacci.js

  • 导出此模块功能以在其他Node JS模块中使用。
    Node JS平台已提供" exports"对象来执行此操作,如下所示;
    请参阅我以前的文章" Node JS:导出和导入模块"以获取有关导出对象的更多详细信息。

  • 在根目录下创建一个package.json文件,如下所示。
    如果您已经阅读了我以前的文章来创建"简单"应用程序,则只需从该项目中复制package.json并进行相应的修改。
    否则,请执行以下两个步骤:步骤1:"新建" >>"其他"以打开"新建向导"窗口
    步骤2:" JSON" >>" JSON文件"单击"下一步"按钮,并提供文件名作为package.json单击完成按钮。
    它创建空的JSON文件。
    将下面的JSON内容复制到package.json文件并保存。

如果您不了解这个package.json文件,请阅读我以前的文章" Node.JS应用程序中package.json的重要性"。

  • 现在,我们的Node JS项目如下所示;

如何使用我们的Node JS模块

首先,我们将创建一个新的Node JS项目,例如" fabonacci-client",然后将使用" fabonacci"模块进行测试。

  • 创建新的Node JS项目,例如" fabonacci-client"。

  • 将package.json文件从" fabonacci"复制到" fabonacci-client"并进行相应的修改。

  • 如图所示,打开命令提示符并转到" fabonacci-client"文件夹并运行命令。

此步骤称为将我们自己新创建的Node JS模块发布到其他Node JS模块中。

  • 现在," fabonacci-client"包括" fabonacci"模块,如下所示。

  • 创建一个JavaScript文件以测试" fabonacci"模块功能。

  • 最终项目如下图所示;

  • 在Enide Studio IDE 2014中作为"节点应用程序"运行fabonacci-client.js。
    如下所示更改fabonacci-client.js,然后再次运行以查看Fibonacci序列中的下一个数字。

作为Java开发人员,我想您已经在项目中完成了此类活动。
当我们在项目需求中有一个通用或者可重用的组件时,我们将把该组件开发为一个单独的项目,将该组件打包到一个JAR中,然后将此JAR文件放置在其他Project模块的CLASSPATH中,以便那些依赖的Project模块可以重用该组件。