Итак, у меня есть несколько функций Firebase, распределенных по нескольким файлам:
- index.ts (импортирует и экспортирует все остальные файлы)
- functions1.ts
- functions2.ts
Содержимое index.ts:
export * from './functions1';
export * from './functions2';
Функции в обоих файлах выглядят примерно так:
exports[FireFunctions.exampleFunction] = functions.https.onCall(async (data, context) => {
if (!context.auth) {
return null;
}
// ...
});
, но в functions1.ts естьдве функции, которые экспортируются следующим образом:
export const test = functions.https.onCall(async (data, context) => {
// ...
});*/
Когда я создаю файл, вывод всегда выглядит так в index.js:
exports.__esModule = true;
var tslib_1 = require("tslib");
tslib_1.__exportStar(require("./functions1"), exports);
Я знаю, что это происходит, потому чтов файле functions2.ts нет export const
, потому что я его протестировал.
Но я не хочу экспортировать что-либо с помощью метода export const
, потому что мне нужно экспортировать его на основе имени строки FireFunctions.exampleFunction2
.
Вы знаете, как заставить его сохранить его во встроенном файле?
Это мой tsconfig:
{
"compilerOptions": {
"baseUrl": "./",
"module": "commonjs",
//"moduleResolution": "node",
"noImplicitReturns": true,
"noImplicitAny": false,
"noUnusedLocals": false,
"rootDir": "src",
"outDir": "lib",
"sourceMap": true,
"strict": false,
"importHelpers": true
}
}