如果作为NodeJS文件的一部分,有不同的闭包:
const Library2 = require('Library2'); // should it be here?
doSomething().then(()=>{
const Library1 = require('Library1'); // or here?
return Library1.doSomething();
}).then(()=>{
return Library2.doSomething();
}).then(...) // etc.
在使用require
Library1和Library2的作用域中,它们会更好吗?还是像大多数人一样在文件的顶端?
无论哪种方式,它对消耗多少内存都有影响吗?
发布于 2017-05-06 06:45:23
最好在服务器启动时加载所有需要的模块。
当第一次加载模块时,会加载阻塞、同步I/O。在服务器运行期间使用阻塞、同步I/O是不好的,因为这会影响服务器同时处理多个请求的能力,并降低可伸缩性。
加载require()
的模块是缓存的,因此幸运的是,在请求处理程序中间的模块中尝试require()
只会在第一次运行请求时损害性能。
但是,最好还是在启动代码中加载任何模块,而不是在服务器运行时请求处理期间加载模块。
https://stackoverflow.com/questions/43821658
复制相似问题