我已经在 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
无法同时扩展类型的服务器'和'EventEmitter'。
在谷歌搜索了一段时间后,我无法弄清楚问题是什么。我对TypeScript比较陌生,我不是百分之百熟悉一切都是什么,一切都在哪里,但看起来是因为@types
和typings
文件的类型存在冲突正在出口与彼此或全球安装的东西混在一起。
我尝试使用tsconfig.json
中的exclude属性排除typings
目录,但这似乎不起作用。
我发现的最接近我的问题的票是on GitHub作为TypeScript项目的一部分,但我不确定它是哪个模块或指向路径的位置。
我将非常感谢任何帮助,我不确定我是否对TypeScript缺乏熟悉(即配置问题),或者它是一个bug或类似的东西。
编辑:我已将nodejs和npm分别更新到版本7.10.0和4.2.0。我删除了包并重新安装它们,现在我有一组略有不同的错误。 node_modules
目录似乎已经被淘汰了。
答案 0 :(得分:0)
我已经解决了同样的问题(使用myApp新项目):
npm remove typescript --save-dev && npm install typescript@2.1 --save-dev
我希望这会有所帮助