класс импортирован, но по-прежнему не удается развернуть firebase с модулем Cannot find - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть простая функция облака Google, объявленная в functions / src / index.ts

import * as functions from 'firebase-functions';
import { Hero } from './hero';

var util = require('util')

export const repeat = functions.https.onCall(
    function (data, context){
        console.log(' repeat ' + util.inspect(data) + util.inspect(context));
        let aHero = new Hero('Google cloud', 50);
        return aHero;
    }
);

, а Hero объявлен в другом имени файла hero.ts, как указано ниже в той же папке, что и index.ts, то есть functions / src /

export class Hero  {
    id: number;
    name: string;

    constructor( name: string, id: number) {
        this.name = name;
        this.id = id;
    }
  }

, но развертывание firebase завершается с ошибкой со следующим

!  functions[repeat(us-central1)]: Deployment error.
Function failed on loading user code. Error message: Code in file lib/index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module './hero'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/srv/lib/index.js:4:16)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

Герой является классом а не module , если я удаляю файл hero.ts и помещаю класс в тот же index.ts, код работает. Так куда это нужно включить?

1 Ответ

0 голосов
/ 21 февраля 2020

решение было удалить node_modules из функции , а также каталог project и затем firebase deploy из функций каталог.

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