如何导入Deno内置类型并正常运行deno check命令?
解决Deno内置类型导入的重复标识符问题
问题原因
你通过deno types > lib.deno.d.ts生成类型文件并导入的做法会引发重复定义错误——Deno在执行deno check或deno compile时,默认已经加载了所有内置类型定义,再导入自己生成的类型文件,就会和内置类型产生冲突,抛出重复标识符报错。
正确解决方案
方法1:直接使用全局命名空间类型
Deno的核心API类型都挂载在全局Deno命名空间下,无需额外导入,直接使用即可:
// main.ts export function f(options: Deno.ConnectOptions) { }
执行deno check main.ts就能正常通过,同时VSCode也能正确识别类型并提供语法提示。
方法2:显式导入类型(模块化场景)
如果需要通过import语句显式导入,可以直接从Deno标准库的net模块导入对应类型,无需自行生成类型文件:
// main.ts import type { ConnectOptions } from "https://deno.land/std/net/mod.ts"; export function f(options: ConnectOptions) { }
注意:导入时建议指定具体的Deno版本号,避免版本差异导致类型不一致。
验证
运行deno check main.ts或deno compile main.ts,不会再出现重复标识符错误,类型识别正常。
内容的提问来源于stack exchange,提问作者Jackoo
相关产品推荐
相关产品推荐

