如何让d.ts声明的类型在html文件的script标签内生效

问题描述

global.d.ts文件里声明的命名空间或者全局变量,在html文件的script标签内不生效

问题出现的环境背景及自己尝试过哪些方法

个人十分喜欢vscode配合d.ts文件的智能补全功能,所以对于自己的文件,都会写一个d.ts文件,在js文件中,智能补全工作的十分良好,但在html文件的script标签,智能补全并不会出现d.ts文件中声明的类型

相关代码

interface Window{
   myProp:number;
}

declare namespace myLib{
    export const NAME:string;
    export function getName():string;
}

你期待的结果是什么?实际看到的错误信息又是什么?

*.js文件中,当我输入 myLib.window. 时,智能补全就会出现 myProp | NAME | getName备选,但在*.html文件的script标签内输入时,却没有任何提示。希望在script标签内的表现和JS文件一致。如下图:
js文件中输入:
图片描述

图片描述

html文件中的script中输入:
图片描述

阅读 6.4k
2 个回答

貌似现在不支持吧, 如果你想用提示, 为什么不把这部分代码抽成一个 js ,然后 script 引入呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题