共计 1528 个字符,预计需要花费 4 分钟才能阅读完成。
转载请注明出处:葡萄城官网,葡萄城为开发者提供业余的开发工具、解决方案和服务,赋能开发者。
原文参考:https://dzone.com/articles/no…
在上篇介绍 Node.js 依赖关系治理的文章中,咱们介绍了对于 Node.js 模块的基础知识,如何应用 module.exports 和 require 办法解决依赖项,以及文件夹依赖项(folder dependencies)的工作形式和工作原理。
明天咱们将持续从这一点登程,来理解如何应用这个零碎模块将应用程序分解成多个模块,以及这样做的劣势和 Node.js 的工作原理。
本文内容中提及到了上篇中一些教训分享,在浏览本文之前能够浏览上篇具体理解。
在咱们继正式开始理解学习如何应用多个模块设置应用程序之前,咱们一起来理解 Node.js 模块一些其余方面的乏味内容。
Node Modules 是单例模式吗
在上一篇文章中,咱们探讨了 Node.js 一次只会加载一个模块。如果发出请求,Node.js 会给出该模块的缓存正本。因而看起来这些模块的行为就像独生子女。这里咱们看一个例子,来阐明这种状况。
首先,咱们为应用程序创立了一个我的项目,初始化应用程序,并创立了一个文件 user.js,如下所示:
接着,在 APP.JS 中咱们会应用用户模块(user module),并依照如下形式应用:
能够看到咱们创立两了两个用户,只有对其中一个变量做出批改就会影响另一个变量的内容。咱们必须意识到用户模块会被缓存,并在进行另一个申请的工夫内被重用。
接下来咱们把它改成一个构造函数,看看他如何进行工作
构造函数
咱们在上篇内容中介绍了构造函数,实现了 user.js 的更改:
这一部分内容上面要持续在 app.js 中应用:
咱们能够看到两个不同的例子,并且能够直观感触到这之间的不同。不必太放心不同的问题,后文中将会介绍其余例子和解决方案。
当初咱们开始介绍对于咱们本次的主题,对于如何应用模块管理应用程序。
应用程序构建
咱们开始搭建一个简略的应用程序根底,接下来会在解说的过程中一直对它进行细化。
咱们曾经创立了一些新的文件夹,当初程序中蕴含的构造如下:
首先咱们给不同的模块创立了独自的文件夹。当初曾经有的图书治理文件夹,另一个用于日志记录器文件夹,相似于用户治理。这样咱们的每个模块都有重点,易于定位和治理。同时在每个文件夹内都有子文件夹。这里咱们须要留神文件夹级别的 index.js 文件,它将作为模块的 API。
而后在 app.js 中咱们能够通过 require 援用模块,看到它依照预期工作的工程。留神咱们如何通过 require user.js 来援用它。
当初咱们来更新代码内容:
咱们在图书治理模块下创立了几个我的项目,在这这模块中咱们能够看到 book.js 遵循常见 JavaScript 构造函数模式(但与 user.js 中看到的构造函数示例略有不同)。
在相应的 index.js 文件中有以下代码:
index.js 作为模块的 API,让咱们在 app.js 中应用它,如下所示:
将 user.js 改为与 book.js 雷同的构造函数模式后咱们的程序正依照预期工作。这里提醒一点,咱们能够应用 Node.js 中其余语言的现有 JavaScript 内容进行编写。依据本人的偏好进行抉择就能够。
上面是代码 user.js 重构之后的样子:
总结
本文中介绍的应用程序内容都非常根底,咱们通过学习 Node.js 依赖性治理的一些基础知识和一些建设我的项目构造的罕用办法来进行了文件模块治理。
咱们还看到 Node.js 应用程序中应用 JavaScript 设计模式的相干常识,并且也通过一些简略的例子进行阐明。
拓展浏览
理解了 Node.js 的依赖关系治理后,进一步理解应用 Node 包管理器实现在线表格编辑内容。