gpt4 book ai didi

typescript - 在 VS Code 中的每个 TypeScript 编译上获取 "error TS5055"消息 Storm

转载 作者:搜寻专家 更新时间:2023-10-30 21:05:45 25 4
gpt4 key购买 nike

我正在尝试使用 VS Code 1.6.1 将基于 JavaScript 的快速项目转换为 TypeScript。我现在可以在 TypeScript 中添加新文件并将它们编译为 JavaScript。但是,每次我编译一个 TypeScript 文件时,我都会得到一长串错误 - 每个现有(遗留)JavaScript 文件一个 - 说:

error TS5055: cannot write file XYZ.js because it would overwrite input file

我该如何阻止它?

我的 tsconfig 看起来像这样:

{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"watch": true,
"allowJs": true
}
}

最佳答案

这个问题的发生是因为 TypeScript 编译器试图转换所有内容,包括已经是 JavaScript 的文件,在这种情况下,它会提示它将覆盖其输入,这是可以理解的。我没有发现可以阻止此行为的“include”和“exclude”语句的组合。

解决方案是在 compilerOptions 中添加一个新字段“outDir”,所以它看起来像这样

{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"watch": true,
"allowJs": true,
"outDir": "generated"
}
}

这会导致tsc将你项目中的所有ts和js复制到指定的文件夹中。不会再出现那些讨厌的 TS5055 错误。

如果你项目中的导入引用都是相对的,这应该没问题。否则,例如,如果您的 Node.js 项目在顶层使用“公共(public)”文件夹,您可能必须相应地修改代码中的路径引用。

关于typescript - 在 VS Code 中的每个 TypeScript 编译上获取 "error TS5055"消息 Storm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com