node.js - 减少 Nodejs 应用程序中 require 语句的数量

标签 node.js

众所周知,require(...) 方法是同步的,并且可能需要一些时间来执行。因此,建议将所有需要加载到顶部。

我正在使用超过 15 个模块。现在,我不再编写多个 require 语句,而是考虑以下逻辑:

foreach(var module in node_modules) 
 GLOBAL.app.npm[module] = require(module);

我的问题是你如何处理同样的事情?

您是否正在编写 15 个 require 语句或任何动态机制?

谢谢

最佳答案

As you all know that the require(...) method is sync and can take some time to execute.

为什么这很重要?请记住,require() 的结果已被缓存。

这在实践中并不是真正的问题,除非您在应用程序中做了一些奇怪的事情。再说一遍,由于缓存的原因,您不必将其放在全局中。只需在前面运行的任何地方要求一次,就可以开始了。

I am using more than 15 modules

没什么大不了的。同样,大多数应用程序无论如何都会在全部加载时加载。如果我需要一个文件,而该文件又需要一个文件,那么它们都会立即加载,假设您的 require 语句像平常一样位于顶部(或实际上在初始执行中的任何位置)。

除非您仅在收到特定请求时才提出要求,否则您无需担心。 (如果你这样做,我想你会有一个特殊的理由这样做。)

关于node.js - 减少 Nodejs 应用程序中 require 语句的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010432/

相关文章:

node.js - Mongoose 共享多个数据库的模型架构

javascript - 什么是 "RegExp DoS issue"?

javascript - 遍历Promise Node js

javascript - 如何将文件从 AWS S3 下载到客户端设备?

node.js - Query.user 的类型必须是 Output Type 但得到 : undefined

javascript - 使用nodejs和jade的Angular文件夹结构

javascript - Angular Controller 向 Nodejs 服务器发送数据或从 Nodejs 服务器接收数据

javascript - 如何在控制台中处理标准输入 NodeJS?

node.js - 如果 mime 类型无效,如何在 busboy 中停止上传和重定向?

node.js - Angular 7 - 在运行时将文件加载到 Assets 文件夹中