将firebase函数转换为JavaScript的Typescript

我已经开始深入研究Firebase的云function,但是经过这么长时间,成为一名Android开发人员转而使用javascript已经非常艰难。

我已经使用firebase命令行工具(例如firebase login / init / deploy)configuration了一个新项目。 而且还需要npm和所有的依赖。

我正在使用Webstorm开发,并决定尝试按照YouTube上的video使用Typescript。

[ https://www.youtube.com/watch?v=GNR9El3XWYo&t=1106s] [1 ]

我已经设法得到我的Typescript编译,但是当转译为JavaScript时,它不能正确编译。

任何人都可以帮我解决这个问题吗?

下面的TS脚本

import * as functions from 'firebase-functions' import * as request from 'request-promise' export let addPlayerRequestNotification = functions.database .ref('notifications/{id}/notification') .onWrite(async event => { let notificaion = event.data.val(); let oauthToken = await functions.config().firebase.credential.getAccessToken(); await request ({ url: 'https://fcm.googleapis.com/fcm/send', method: 'POST', headers: { 'Content-Type' :' application/json', 'Authorization': 'key='+oauthToken }, body: { "notification": { "title": notificaion.title, "text": notificaion.text, }, to : '/topics/'+notificaion.topic } }); }); 

而JavaScript编译的代码是

 "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const functions = require("firebase-functions"); const request = require("request-promise"); exports.addPlayerRequestNotification = functions.database .ref('notifications/{id}/notification') .onWrite((event) => __awaiter(this, void 0, void 0, function* () { let notificaion = event.data.val(); let oauthToken = yield functions.config().firebase.credential.getAccessToken(); yield request({ url: 'https://fcm.googleapis.com/fcm/send', method: 'POST', headers: { 'Content-Type': ' application/json', 'Authorization': 'key=' + oauthToken }, body: { "notification": { "title": notificaion.title, "text": notificaion.text, }, to: '/topics/' + notificaion.topic } }); })); 

这是违规的路线

 .onWrite((event) => __awaiter(this, void 0, void 0, function* () { 

更具体地说=>字符。 我得到的错误是预期的expression式。

这是我的tsconfig.json文件

 { "compilerOptions": { "target": "es6", "module": "commonjs" }, "include": [ "functions/**/*.ts" ], "exclude": [ "functions/node_modules" ] } 

如果有人对此有任何意见,我将不胜感激任何帮助。

我发现我的问题,我已经设置了一个旧版本的JavaScript来编译在Webstorm 5.1。 升级到6固定的问题。

在这里输入图像说明