该语法需要一个名为 __spreadArrays 的导入助手
the syntax requires an imported helper named __spreadArrays
当我尝试在打字稿中使用传播时,例如:
.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@2.2.0
快速修复,简答
npm install tslib@latest --save
更新
我在更新 VS Code 后再次遇到这个问题(现在使用 tslib 版本 2.2.0),再次更新修复了这个问题。
原创
我在使用 tslib 1.14.1 版时遇到了这个问题
npm update tslib --save
什么都没做
npm install tslib@latest --save
完成了工作,它更新到版本 2.2.0
只需确保在 vscode 编辑器选项的底部启用了 tslint
假设您的 tslib 已正确安装并且是最新的,如果编辑器使用不同的 Typescript 版本,您可能仍会在 VS Code 中收到此错误。
(取自zok's answer on this SO question)
打开命令面板(Mac 上的 Cmd+Shift+P。重点文件必须是 .ts 或 .tsx,否则它不会显示更改版本的选项)
Select“TypeScript:SelectTypeScript 版本...”
它显示 VSCode 的 TS 版本和工作区的(项目)版本,选择工作区一个
在我的例子中,问题是 target: "es5"
in compilerOptions
at tsconfig.json
。
所以我将其更改为 es6
以使其在不添加依赖项的情况下工作。
对于 yarn 用户:yarn upgrade tslib@latest
如果您的 tsconfig.json 文件中有:
,则可能会发生此错误
{
"importHelpers": true,
"target": "es5"
}
如果出于任何原因您无法升级到 es6,将 importHelpers 设置为 false 将使错误消失...
从右侧向下
将鼠标悬停在 TypeScript 旁边的大括号上,然后单击版本
它会给你几个选项,通常与项目相关
只需 select 版本即可正常工作
运行 解决了这个带有依赖关系的问题,并通过更新它的 tsconfig.ts
到最新的顶层路径 tslib
.
解决了这个问题
"importHelpers": true,
"paths": {
"tslib": [ "../tslib/tslib.d.ts" ]
}
当我尝试在打字稿中使用传播时,例如:
.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@2.2.0
快速修复,简答
npm install tslib@latest --save
更新
我在更新 VS Code 后再次遇到这个问题(现在使用 tslib 版本 2.2.0),再次更新修复了这个问题。
原创
我在使用 tslib 1.14.1 版时遇到了这个问题
npm update tslib --save
什么都没做
npm install tslib@latest --save
完成了工作,它更新到版本 2.2.0
只需确保在 vscode 编辑器选项的底部启用了 tslint
假设您的 tslib 已正确安装并且是最新的,如果编辑器使用不同的 Typescript 版本,您可能仍会在 VS Code 中收到此错误。
(取自zok's answer on this SO question)
打开命令面板(Mac 上的 Cmd+Shift+P。重点文件必须是 .ts 或 .tsx,否则它不会显示更改版本的选项) Select“TypeScript:SelectTypeScript 版本...” 它显示 VSCode 的 TS 版本和工作区的(项目)版本,选择工作区一个
在我的例子中,问题是 target: "es5"
in compilerOptions
at tsconfig.json
。
所以我将其更改为 es6
以使其在不添加依赖项的情况下工作。
对于 yarn 用户:yarn upgrade tslib@latest
如果您的 tsconfig.json 文件中有:
,则可能会发生此错误{
"importHelpers": true,
"target": "es5"
}
如果出于任何原因您无法升级到 es6,将 importHelpers 设置为 false 将使错误消失...
从右侧向下 将鼠标悬停在 TypeScript 旁边的大括号上,然后单击版本 它会给你几个选项,通常与项目相关 只需 select 版本即可正常工作
运行 解决了这个带有依赖关系的问题,并通过更新它的 tsconfig.ts
到最新的顶层路径 tslib
.
"importHelpers": true,
"paths": {
"tslib": [ "../tslib/tslib.d.ts" ]
}