Сократите время холодной загрузки облачных функций, обрезав зависимости - PullRequest
0 голосов
/ 01 октября 2018

В облачных функциях обрезка зависимостей из пакета .json эффективна для сокращения времени холодной загрузки?Если ответ «да», как насчет перемещения зависимостей в devDependencies?

Я использую облачные функции для Firebase, и он загружает файлы в папку функций без node_modules.

Каталог node_modules в контейнерахОблачные функции автоматически создаются облачными функциями.Таким образом, выяснить, эффективна ли контрмера (которая отмечена выше) или нет, трудно.

1 Ответ

0 голосов
/ 02 октября 2018

Удаление зависимостей из package.json может незначительно повлиять на время развертывания, но, как правило, не повлияет на холодный запуск.На холодный запуск влияют только пакеты, которые вы загружаете в своем коде, то есть количество require() операторов, необходимых для начальной загрузки вашей функции.

Это может быть хорошей практикой длятребовать пакеты внутри тела функции, если она используется только для одной функции.Например:

const functions = require('firebase-functions');

exports.myFunction = functions.https.onRequest((req, res) => {
  const lib1 = require('lib1');
  const lib2 = require('lib2');

  res.send(lib1.callMethod(lib2.otherMethod()));
});

Если в том же файле были развернуты другие функции, развернутые с помощью Firebase CLI, они не загружали бы lib1 и lib2, поскольку они требуются только внутри тело функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...