Развертывание API с помощью облачных функций Google - PullRequest
0 голосов
/ 19 сентября 2019

Я сделал API для своего углового приложения и теперь хочу его развернуть.Однако я не могу требовать мой файл server.js (который является точкой входа для приложения со всеми заявленными маршрутами и т. Д.), Файл из папки функций.Как мне это сделать?

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

В моих функциях index.js:

const functions = require('firebase-functions');
const app = require('../server.js');

exports.api = functions.https.onRequest(app);

И server.js находится вне папки функций.

Предполагается, что сможетразверните мою функцию, вместо этого получил

Detailed stack trace: Error: Cannot find module '../server.js'.

РЕДАКТИРОВАТЬ:

Моя структура папок выглядит следующим образом:

|-- database
|   |-- database.js
|   |-- db_config.js
|   `-- models
|       `-- User.js
|-- firebase.json
|-- firestore.indexes.json
|-- firestore.rules
|-- functions
|   |-- node_modules  
|   |-- index.js
|   |-- package-lock.json
|   `-- package.json
|-- package-lock.json
|-- package.json
|-- node_modules
|-- routes
|   `-- api.js
|-- server.js

Спасибо.

1 Ответ

0 голосов
/ 20 сентября 2019

Вы можете включить локальные модули Node.js для зависимостей ваших облачных функций.Вы можете добиться этого, объявив свои модули в package.json, используя префикс file: как описано в ссылке .

Код этого локального модуля не должен находиться в папке node_modules.Вы можете просто сохранить его в корне каталога вашей функции.

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