У меня есть подмодуль с именем shared
, который расположен рядом с папкой backend
(которая является папкой облачных функций):
Я добавил локальную зависимость shared
в backend/package.json
примерно так:
"dependencies": {
...
"shared": "file:../shared"
}
Я запустил npm install
и убедился, что node_modules/shared
существует.Хотя, когда я запускаю следующий код:
firebase deploy --only functions
я получаю следующую ошибку (по firebase):
Error: Error parsing triggers: Cannot find module 'shared/common'
Try running "npm install" in your functions directory before deploying.
Эта ошибка происходит из-за этой строки:
import { currentWeek } from 'shared/common';
Если я изменю каталог на ../../../shared/common
, firebase скомпилирует без ошибок.
shared / common / index.ts:
export { currentWeek } from './current-week';
shared / tsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"target": "es5",
"module": "commonjs",
"declaration": true,
"strict": true,
"removeComments": true
}
}
backend / tsconfig.json:
{
"compilerOptions": {
"baseUrl": ".",
"declaration": true,
"outDir": "./dist",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"allowSyntheticDefaultImports": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"resolveJsonModule": true,
"target": "es6",
"moduleResolution": "node",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2015",
"dom"
]
},
"include": [
"./src/**/*",
"../shared/**/*"
]
}
Почему я получаю эту ошибку, если у меня есть этот модуль?Я что-то упускаю?