gpt4 book ai didi

带扩展名的 TypeScript 导入

转载 作者:行者123 更新时间:2023-12-03 23:12:10 28 4
gpt4 key购买 nike

您可能听说过 Deno,它是一个新的 TypeScript 运行时。

Deno 和普通 TypeScript 之间的一个主要区别是你必须在 import 语句中包含文件扩展名。例如:

import foo from './bar.ts'
^^

我想编写与 Deno 和 Webpack 兼容的代码。

如何配置 Webpack 以允许使用 .ts 导入像上面这样的扩展?

另外,如何防止以下 VSCode 错误?

enter image description here

最佳答案

Webpack 可以配置为使用 resolve 属性解析所有导入的扩展名。如果扩展列表中有一个空字符串,webpack 也将接受带有完整扩展的导入。空字符串应该是列表中的第一个条目。

module.exports = {
// ...
resolve: {
extensions: ['', '.ts', '.tsx' /*etc ...*/],
}
}

如果要使用的扩展列表中没有空字符串,webpack 将尝试导入类似 ./bar.ts.ts 的内容。而不是 ./bar.ts .

您可以使用类似的注释从 ts-compiler 中禁用 VSCode 中的警告
// @ts-ignore TS6133
import foo from './bar.ts'

关于带扩展名的 TypeScript 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199426/

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