Как мне импортировать функции из одного проекта Firebase в другой проект Firebase? - PullRequest
1 голос
/ 03 августа 2020

У меня есть 2 проекта функций firebase: prod и infra. infra требует всех функций prod и имеет еще несколько собственных (т.е. infra является строгим надмножеством prod). Структура каталогов примерно такая:

|---> myDirectory
   |---> infra
   | |---> functions
   |   |---> src
   |     |---> index.js          // infra is TS
   |---> prod
     |---> functions
       |---> index.js            // prod is JS

Как импортировать функции из prod в infra? Я пробовал

    // myDirectory/infra/functions/index.js
    const { functionA } = require('../../prod/functions/index.js');
    exports.functionA = functionA;

Это отлично работает на эмуляторах, но при развертывании я получаю эту ошибку:

validateEventDocument 
Provided module can't be loaded. 
Did you list all required modules in the package.json dependencies? 
Detailed stack trace: Error: Cannot find module '../../../prod/functions/index.js' 

1 Ответ

0 голосов
/ 03 августа 2020

Если у вас есть оба файла с одинаковым именем в разных местах, это может вызвать проблемы при импорте. Итак, я бы рекомендовал вам иметь разные имена для файлов, по крайней мере, поскольку вся структура каталогов одинакова. Как поясняется в этом другом аналогичном случае здесь , способ импорта в основном правильный, но ваша структура не помогает импортировать облачные функции в ваш проект. Я бы порекомендовал вам изменить его на что-то вроде ниже, а затем попытаться импортировать их.

|---> myDirectory
   |---> infra
   | |---> i_functions
   | |  |---> f_index.js
   |---> prod
   | |---> p_functions
   | |  |---> p_index.js

// myDirectory/infra/functions/index.js
    const { functionA } = require('../../prod/p_functions/p_index.js');
    exports.functionA = functionA;

Вы также можете проверить свой firebase.json файл, чтобы убедиться, что он настроен для указания необходимых вам облачных функций.

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

Дайте знать, помогла ли вам информация!

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