在Firebase控制台中,没有以Typescript

时间:2019-03-28 15:21:52

标签: typescript firebase google-cloud-functions

我正在使用Typescript编写一些Firebase云功能,如下所示:

index.ts

export * from "./Module1";

Module1.ts

import * as functions from "firebase-functions";

export const test = functions.https.onRequest(
  (request, response) => {
     console.log("Hello");
  }
);

然后使用firebase deploy将代码编译成Javascript并上传。整个部署过程运行无误。但是lib目录中的已编译 Module1.js 没有console.log()行:

Module1.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const functions = require("firebase-functions");

exports.test = functions.https.onRequest((request, response) => {
}

然后,我在Firebase控制台中签入,行console.log("Hello");没有日志输出。我猜tsc可能剥离了console.log(),但这只是一个猜测。我仍然不知道为什么会这样。我的 tsconfig.json 如下:

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2015",
    "resolveJsonModule": true,
    "esModuleInterop": true
  },
  "compileOnSave": true,
  "include": ["src"]
}

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

愚蠢的我。在我的本地代码中,我没有将r"(?<=\|)[^\|]*(?=\|)" 写入另一个文件Module2.ts中。感谢您的宝贵时间,不便之处,敬请谅解...

将其移至Module1.ts之后,它可以正常工作。

也许这就是为什么不建议熬夜写代码的原因...