众所周知,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/