Написание облачных функций с помощью машинописного текста

Бессерверные архитектуры прекрасны, и недавно я начал использовать облачные функции (через Firebase). Сразу же я решил использовать Typescript для написания своих функций. В основном на это есть две причины: 1) мои проекты написаны на Typescript, было бы полезно использовать некоторые из этих файлов в моих функциях; 2) Cloud Functions по умолчанию обеспечивает набор текста для Typescript, снижая барьер для входа в этот новый API.

Сначала я создал папку functions в моем собственном проекте со следующим файлом package.json.

Нам также необходимо добавить файл tsconfig.json в папку functions. В package.json корневого проекта вы можете обновить свой lint-скрипт, чтобы также проверить папку functions. В моих проектах это выглядит так: tslint - проект tsconfig.json && tslint - project functions / tsconfig.json.

ТипКорни

По умолчанию Typescript просматривает родительские папки node_modules для определения типов, которые могут вызвать некоторую путаницу при компиляции. Чтобы избежать этого хаоса, существует опция компилятора под названием typeRoots, которая позволяет вам указать папку корневого типа. Вы можете установить его в своем tsconfig.json в разделах compilerOptions как: typeRoots: [node_modules / @ types] .

Импорт

Для успешного развертывания кода вам не разрешено использовать операторы импорта es6 в сгенерированном TypeScript. Используйте compilerOptions.module=commonjs, чтобы использовать вместо этого require операторы.

И вуаля

Вот так выглядит мой tsconfig.json файл:

Я надеюсь, что эта статья была для вас полезной, и с нетерпением жду ваших отзывов.