带有扩展名的 TypeScript 导入
TypeScript import with extension
您可能听说过 Deno,它是一种新的 TypeScript 运行时。
Deno 和普通 TypeScript 的一个主要区别是您必须在导入语句中包含文件扩展名。例如:
import foo from './bar.ts'
^^
我想编写与 Deno 和 Webpack 兼容的代码。
如何配置 Webpack 以允许使用上述 .ts
扩展名导入?
此外,如何防止以下 VSCode 错误?
Webpack 可以配置为解析所有导入的扩展名 属性。如果扩展名列表中有一个空字符串,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'
您可能听说过 Deno,它是一种新的 TypeScript 运行时。
Deno 和普通 TypeScript 的一个主要区别是您必须在导入语句中包含文件扩展名。例如:
import foo from './bar.ts'
^^
我想编写与 Deno 和 Webpack 兼容的代码。
如何配置 Webpack 以允许使用上述 .ts
扩展名导入?
此外,如何防止以下 VSCode 错误?
Webpack 可以配置为解析所有导入的扩展名 属性。如果扩展名列表中有一个空字符串,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'