我已經在Visual Studio代碼中啓動了一個新的TypeScript項目,我想用於Cloud Functions for Firebase服務,並且出現大量編譯器錯誤。我已經看過很多東西,試圖解決它們,因爲它們似乎打破了Intelisense,並且給我自己編寫的任何TypeScript代碼添加了錯誤。已安裝雲功能包的新鮮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 」。
scowering谷歌一段時間後我想不通的問題是什麼。我對TypeScript比較陌生,並且我不是100%熟悉什麼都是,什麼都有,但看起來像是有衝突,因爲@types
和typings
文件正在導出的類型被混淆了彼此或全球安裝的東西。
我已經使用在tsconfig.json
排除屬性排除typings
目錄嘗試,但似乎並沒有工作。
我發現對我的問題最近的票是on GitHub作爲TypeScript項目的一部分,但我不確定它是哪個模塊或路徑指向何處。
任何幫助將不勝感激,我不知道如果我不熟悉TypeScript是問題(即配置問題)或它是一個錯誤或類似的東西。
編輯:我已經分別更新了nodejs和npm到版本7.10.0和4.2.0。我刪除了包並重新安裝了它們,現在我有一些稍微不同的錯誤。 node_modules
目錄似乎已經變平。
如果您在使用和的NodeJS和NPM或者的WebPack browserify,你一般不應該有類型目錄,只需使用node_modules/@類型。還請確保你沒有@ types/core-js –
您好,我正在使用VS Code,我不認爲我使用的是browserify或webpack?這些目錄來自何時安裝了依賴關係,因此我認爲我無法控制它們。 – Scott
當然你可以,只需刪除它們並從package.json文件中刪除typings install命令 –