Допустим, в моем файле мне нужна только функция ObjectId
из пакета mongoose
.
Есть ли какая-либо выгода (процессор, память, скорость ...) только для импорта указанной функции вместо импорта всего mongoose
в мой файл?
Мои мысли:
Node.js импортирует модуль один раз, поэтому затраты на импорт не должны увеличиваться, и при использовании точечной нотации с требовать, чтобы он сначала требовал / импортировал весь пакет, поэтому не должно быть никакой разницы в затратах на импорт снова.
Переменная, которую я установил при импорте с выбранным вишневым импортом, меньше и поэтому требует меньше памяти, но, поскольку mongoose является объектом, переменная содержит только ссылку на этот объект, поэтому не имеет значения, выбираю ли я вишню или не. Это не так, как будто я устанавливаю весь пакет mongoose в свою переменную. Я только устанавливаю ссылку.
Импорт всех mongoose
.
const mongoose = require("mongoose");
function test() {
const id = mongoose.Types.ObjectId();
// other code
}
module.exports = test;
Импорт только ObjectId
.
const ObjectId = require("mongoose").Types.ObjectId;
function test() {
const id = ObjectId();
// other code
}
module.exports = test;