1

我已经在Visual Studio Code中启动了一个新的 TypeScript 项目,我想将它与 Cloud Functions for Firebase 服务一起使用,但我遇到了大量编译器错误。我已经四处寻找并尝试解决它们,因为它们似乎正在破坏 Intelisense 以及在我自己编写的任何 TypeScript 代码中添加错误。

仅安装工具后,我就可以在新项目中重现这些问题,但我现在真的很困惑问题是什么。

我已经firebase-tools全局安装了。

我从一个空文件夹开始,首先我创建一个tsconfig.json文件。

{
    "compilerOptions": {
        "module": "commonjs",
        "sourceMap": true
    },
    "exclude": [
        "node_modules"
    ]
}

接下来我添加tasks.json文件。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "args": ["-p", "."],
    "showOutput": "silent",
    "problemMatcher": "$tsc"
}

然后我运行firebase init functions以初始化项目以使用函数 API。

通过运行此步骤安装的打包文件设置在一个packages.json文件中。

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "dependencies": {
    "firebase-admin": "~4.1.2",
    "firebase-functions": "^0.5"
  },
  "private": true
}

此时,当我尝试构建项目并让它运行时,tsc我会遇到一堆错误,例如重复标识符,并且接口Server不能同时扩展类型“服务器”和“事件发射器”。

编译器错误示例

在对谷歌嗤之以鼻一段时间后,我无法弄清楚问题是什么。我对 TypeScript 比较陌生,我不是 100% 熟悉一切是什么,一切都在哪里,但看起来存在冲突,因为@typestypings文件导出的类型相互混淆或全局安装的东西。

存在编译器错误的文件列表

我试过在tsconfig.json排除typings目录中使用 exclude 属性,但这似乎不起作用。

我发现的最接近我的问题的票是在 GitHub 上作为 TypeScript 项目的一部分,但我不确定它是哪个模块或指向何处。

任何帮助将不胜感激,我不确定我对 TypeScript 不熟悉是问题(即配置问题)还是错误或类似问题。

编辑: 我已将 nodejs 和 npm 分别更新到版本 7.10.0 和 4.2.0。我删除了这些软件包并重新安装了它们,现在我遇到了一组稍微不同的错误。该node_modules目录似乎已被展平。

已更改的文件有错误。 有错误的新文件集

但同样的错误发生了。 相同的错误

4

1 回答 1

0

我已经解决了同样的问题(使用 myApp 新项目):

npm remove typescript --save-dev && npm install typescript@2.1 --save-dev

我希望这有帮助

于 2017-07-17T21:26:47.230 回答