微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 nodeJS 中自动要求模块

如何解决在 nodeJS 中自动要求模块

我正在寻找 VS 代码扩展,或任何 NodeJS 功能,或一些关于如何自动为我需要特定模块的 JavaScript 想法。 我有一个我自己创建的依赖项,它是一个内容记录到控制台的简单实用程序,因此我不必一直写 console.log(colors.red("Error: something went wrong")),我只需键入 log.error("something went wrong")。 我现在为我创建的每个文件重复我自己,我必须为我创建的每个文件require("./../utils/log")(路径一直从一个文件更改为另一个文件)。

是否有 VS 代码扩展,或任何 NodeJS 功能,或一些关于如何自动为我需要特定模块的 JavaScript 想法?

解决方法

nodejs 中模块化的好处很多。 nodejs 中模块化的痛苦在于,您需要在模块开始时在该模块的每个依赖项中手动 require()import。习惯它。这就是你在 nodejs 中编程的方式。是的,当来自其他环境时感觉是重复的,但是每个模块都需要物理状态并加载自己的依赖项,以便获得 nodejs 模块化的全部好处。从长远来看,这是值得的。只需在每个模块的开头输入依赖项即可。

一段时间后,您开始意识到每个模块本质上都在开始时声明了它所依赖的内容(通过加载其依赖项)。而且,一旦您开始编写模块测试,您就会真正体会到每个模块都是可独立测试的,因为它加载了自己的所有依赖项,并且在测试之前不需要配置一些更大的环境。当您第一次决定要将一个模块共享到另一个项目时,您会非常感激它已经是独立的和可共享的。正确地做这件事是值得的。

我现在为我创建的每个文件重复我自己,我必须为我创建的每个文件 require("./../utils/log")(路径一直从一个文件更改为另一个文件) .

是的,这就是 nodejs 中的工作方式。任何解决此问题的系统(可能使用全局变量)都会破坏 nodejs 的模块化,然后您的模块将不会是独立的,不会声明自己的依赖项,不会被独立测试,不会被独立共享,等等......因为他们在完成工作之前会对某些外部环境产生隐藏的依赖。

当你放弃模块独立性时,一点点的打字避免不值得你放弃。

仅供参考,当第一次在 nodejs 中编程时,您的情绪(关于在多个模块中重复输入相同的内容)很常见。我们程序员受过培训,可以识别代码重复并将其视为应该解决和避免的问题。这只是一种情况,它不应该被删除,重复导致模块自我描述、可独立测试和可共享,而不依赖于某些全局环境。好事总比坏事好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。