假设有一个文件mod.js
包含许多函数和变量,其中大部分都是使用module.exports
导出的。
如果我只想在这些选项之间使用其中一个导出函数:
const mod = require("./mod");
mod.function();
或
const {function} = require("./mod");
function();
内存使用情况是否存在敏感差异?节点是否删除mod.js
中的未引用元素以节省内存?
答案 0 :(得分:2)
加载模块会将模块中的所有代码加载到服务器内存中。它不知道可能会或可能不会调用哪些代码,也不会删除任何未使用的代码。
通常,服务器上代码的内存使用量是无关紧要的(服务器端内存,代码只加载一次)。如果您不想加载您不使用的代码,那么您需要重构模块,以便只能加载实际需要的代码。这是节点模块的要点之一。加载你需要的,不要加载你不需要的。将模块设计为有用的代码包以便加载在一起。
内存使用情况是否存在敏感差异?
通常不用于服务器,除非你有一个巨大的模块。模块通常不应该足够大,只要加载代码就会对服务器端内存产生很大的影响。如果它们是,那么它们应该被分解成可以根据需要加载的更小的部分。
节点是否删除了mod.js中的未引用元素以节省内存?
不,它没有。