Развертывание Firebase не может разрешить локальные зависимости - PullRequest
0 голосов
/ 31 октября 2019

Итак, у меня есть проект с несколькими модулями, а именно:

  • облачные функции
  • ionic-app
  • shared

shared желательно, чтобы быть кодом, который используется совместно с cloud-functions и ionic-app.

Общий код отлично работает с ионным проектом (попытался запустить ionic serve), но я не могуузнайте, что нужно сделать, чтобы он работал в функциях Firebase.

В Ionic я включил общий проект в качестве зависимости следующим образом:

"dependencies": {
    // ...
    "shared": "file:../shared"
},

В проекте Firebase я сделал именноТо же самое.

То, что я пробовал:

Я пробовал это с несколькими параметрами module в tsconfig проекта cloud-functions (commonjs, esnext, es2015, amd), но у каждого есть свой сбой.

С commonjs (настройка по умолчанию) мне удается получить самый дальний. Ошибка, которую я получаю при развертывании, выглядит так:

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 'shared'
    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:6: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)

tsconfig.json выглядит следующим образом:

// cloud-functions:
{
  "compilerOptions": {
    "baseUrl": "./",
    "module": "commonjs",
    "moduleResolution": "node",
    "noImplicitReturns": true,
    "noImplicitAny": false,
    "noUnusedLocals": false,
    "rootDir": "src",
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "importHelpers": true
  }
}

// shared:
{
  "compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "rootDir": ".",
    "sourceRoot": "src",
    "outDir": "dist",
    "sourceMap": true,
    "declaration": true,
    "target": "es2015"
  }
}

Есть ли у вас какие-либо подсказки, как сделать локальный модультакже работает в firebase deploy?

PS: я уже переустанавливал свои зависимости

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