Как развернуть облачные функции внутри перемещаемой папки? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть некоторые проблемы с моей файловой структурой в моем проекте Firebase, который использует Firebase Hosting и Cloud Functions.

Примечание: я не думаю, что моя проблема связана с powershell $RESOURCE_DIR и %RESOURCE_DIR проблема.

Моя текущая структура файла:

project folder
  functions
    dist
      index.js
    src
      index.js
  package.json

firebase.json
package.json

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

Проблема началась, когда я создал папки src и public внутри функции папка.Потому что теперь я перенесу с src на public перед развертыванием.

ВОПРОС 1:

Нужно ли мнеfirebase.json внутри моей папки functions ?Поскольку папка functions и файл firebase.json были созданы командой firebase init, я думаю, что в этом нет необходимости, хотя это немного смущает меня, потому что я видел проекты в Firebase, которые используют только функции (не хостинг) и firebase.json остается там.

Двигаемся дальше ... Поскольку я изменил папку по умолчанию для своих функций, я перешел к файлу firebase.json и добавил к нему свойство sourceпотому что index.js его больше нет в корне папки functions (по умолчанию):

firebase.json

"functions": {
    "source":"functions/public",
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint"
    ]
  },

Но теперь яполучить эту ошибку, потому что firebase явно пытается запустить predeploy script и ищет файл package.json в моей папке public , а не находит его в корневой папке functions .

enter image description here

Даже когда я удаляю скрипт predeploy, он все равно пытается найти package.json внутри моей публичной и я получаю эту ошибку:

enter image description here

ВОПРОС 2

Что я мог сделать, это избавиться от папки public и перенести мою папку src в корень папки functions и использоватьповедение по умолчанию, упомянутое выше.Но есть ли способ обойти это?

...