[英]the syntax requires an imported helper named __spreadArrays
當我嘗試在 typescript 中使用傳播時,例如:
.reduce((unique, x) => {
unique.some(element => element.machineName === x.machineName) ? unique : [...unique, x];
}
我從Visual Studio Code
收到帶有紅色標記的警告:
the syntax requires an imported helper named __spreadArrays
typescript version: "2.3.4"
target: "es5"
我想在以后的版本中這個問題是固定的,但現在我不能遷移。 我該如何解決?
注意:項目可以正常編譯並運行。 但是VS Code
中的紅色底層很煩人。
對於VS Code
,通知基於tsLib導出。 實際上,不做任何事情都不會發生任何不好的事情,只是缺少打字而已。
解決方案:更新tsLib依賴項以擺脫突出顯示。 就我而言,它是1.9.0
版本。 更新到1.10.0
解決了這個問題。
__spreadArrays
在1.10.0
tsLib
版本中添加: https://github.com/microsoft/tslib/blob/1.10.0/tslib.es6.js
更新:由於一段時間過去了,最好將版本更新到2.2.0
(基於最后的評論)或latest
的 .
我的 tslib 版本 1.14.1 有這個問題
npm update tslib --save
並沒有真正做任何事情
npm install tslib@latest --save
完成了這項工作,它更新到版本 2.2.0
如果您的 tsconfig.json 文件中包含以下內容,則可能會發生此錯誤:
{
"importHelpers": true,
"target": "es5"
}
如果出於任何原因你無法升級到 es6,將 importHelpers 設置為 false 將使錯誤 go 消失......
在我的情況下,問題是target: "es5"
的compilerOptions
中的“ tsconfig.json
”。
所以我將其更改為es6
以使其在不添加依賴項的情況下工作。
假設您的 tslib 安裝正確且是最新的,如果編輯器使用不同的 Typescript 版本,您可能仍會在 VS Code 中收到此錯誤。
Open Command Palette (Cmd+Shift+P on Mac. Focused file must be.ts or.tsx otherwise it won't show the option to change version) Select "TypeScript: Select TypeScript Version..." It shows VSCode's TS version and工作區的(項目)一,選擇工作區一
對於 yarn 用戶: yarn upgrade tslib@latest
從右側向下 hover 在 TypeScript 旁邊的花括號上,然后單擊版本,它會給你幾個選項,通常與項目相關,只有 select 版本,它會工作正常
您可能需要升級到 tslib@2.2.0
只需確保在 vscode 編輯器選項的底部啟用了 tslint
遇到這個帶有依賴關系的問題,並通過使用頂級最新tslib
的路徑更新其tsconfig.ts
來解決它。
"importHelpers": true,
"paths": {
"tslib": [ "../tslib/tslib.d.ts" ]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.