gpt4 book ai didi

typescript - tsc 编译使用文件扩展名导入的 typescript

转载 作者:行者123 更新时间:2023-12-05 08:11:09 38 4
gpt4 key购买 nike

我以独立于生态系统的方式编写 typescript 代码。我决定在导入中包含文件扩展名,以匹配网络和 Deno。

import xyz from "./foo.ts";

如何让 typescript 编译器 (tsc) 编译这些文件而不出现以下错误:

error TS2691: An import path cannot end with a '.ts' extension.

到目前为止,我在我的 tsconfig.json 中尝试了以下操作但无济于事:

{
"compilerOptions": {
"paths": {
"*.js": ["*"],
"*.ts": ["*"]
},
...
},
...
}

最佳答案

您可以通过告诉 tsc 忽略所有此类 import 语句来编译而不会出现错误。

// @ts-ignore
import xyz from "./foo.ts";

要了解为什么您无法通过配置摆脱它,我们必须深入探究 TypeScript 不希望您在 import< 中使用 .ts 扩展名的根本原因声明。

tsc 不会重写模块文件名,所以如果你给它

import xyz from "./foo.ts"

它不会生成 foo.js 文件,并且生成的编译 ECMAScript(无论您指定什么版本)仍然会提示导入 ./module.ts。由于编译为 ECMAScript 的目的是摆脱 TypeScript 文件,因此在输出中引用 .ts 文件显然不好。

您想要的已在 TypeScript GitHub 问题中提出(请参阅 #27481#11901)。您可以考虑加入 GitHub 上的讨论。

关于typescript - tsc 编译使用文件扩展名导入的 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63254194/

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