【问题标题】:Fresh TypeScript Project with Cloud Function Packages Installed has Compiler Errors安装了云功能包的新 TypeScript 项目存在编译器错误
【发布时间】:2017-10-01 21:14:44
【问题描述】:

我已经在 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 不能同时扩展类型'Server' 和'EventEmitter '。

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

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

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

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

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

更改中存在错误的文件。

但同样的错误发生了。

【问题讨论】:

  • 如果你正在使用 nodejs 和 npm 以及 webpack 或 browserify,你一般不应该有打字目录,而只使用 node_modules/@types。还要确保你没有那个 @types/core-js
  • 您好,我正在使用 VS Code,但我认为我没有使用 browserify 或 webpack?这些目录来自安装依赖项时,所以我认为我无法控制它们。
  • 确定,只需删除它们并从 package.json 文件中删除 typings install 命令
  • 我检查并删除了类型并更新了相应的项目文件,这破坏了依赖它们的其他一些 TS 文件。 Typings 目录仅用于 base64url 模块。一定是其他原因导致了这个问题。我说我认为我没有任何控制权的原因是,如果包更新它会破坏我的自定义更改。
  • 你总是可以选择性地卸载那些你不需要的

标签: typescript firebase compiler-errors google-cloud-functions firebase-tools


【解决方案1】:

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

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

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 2015-01-27
    • 2023-03-29
    • 2013-10-30
    • 2014-06-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    相关资源
    最近更新 更多