#node.js #express
#node.js #выразить
Вопрос:
У меня есть функция в одном «родительском» файле, которая вызывает функции в 10 разных «дочерних» файлах, require()
все из которых являются одними и теми же 4 пакетами. Что лучше — запрашивать эти пакеты один раз в родительском файле и передавать эти пакеты в качестве аргументов дочерним файлам или require()
их в начале каждого из 10 файлов?
Мне кажется, что первое лучше, но я не знаю, есть ли какая-то низкоуровневая оптимизация, которой мне не хватает, или есть большие накладные расходы на передачу пакетов как аргументов.
Ответ №1:
Я не думаю, что это действительно имеет значение. Пакеты кэшируются (см. https://nodejs.org/api/modules.html#modules_caching ).
На мой взгляд, если вы требуете их для каждого файла, а не передаете их как параметры, зависит от того, как вы хотите использовать дочерние функции. Если в какой-то момент вы, возможно, захотите использовать дочернюю функцию вне родительской, было бы лучше требовать необходимые пакеты в каждом дочернем элементе. С другой стороны, у вас может возникнуть сценарий, в котором вы хотите вызвать дочернюю функцию с параметром, который может измениться (например, вы хотите передать дочерней функции функцию сортировки). В этом случае параметр был бы хорош, чтобы вы могли повторно использовать большую часть кода.