Javascript 未提供HtmlScript元素的所有属性时出现Typescript错误
我正在将脚本附加到typescript文件中的页面Javascript 未提供HtmlScript元素的所有属性时出现Typescript错误,javascript,typescript,types,Javascript,Typescript,Types,我正在将脚本附加到typescript文件中的页面 function getScript() { return new Promise((resolve, reject) => { const script: HTMLScriptElement = document.createElement('SCRIPT'); document.body.appendChild(script); script.onload = resolve; script.one
function getScript() {
return new Promise((resolve, reject) => {
const script: HTMLScriptElement = document.createElement('SCRIPT');
document.body.appendChild(script);
script.onload = resolve;
script.onerror = reject;
script.async = true;
script.src = './scripts/my-script.js';
});
}
Typescript给了我以下错误,这是我以前在img
标记上遇到过的错误,除了错误表明我丢失了很多更多的属性
类型“HTMLElement”缺少类型“HTMLScriptElement”中的以下属性:异步、字符集、交叉源、延迟等8个属性。ts(2740)
我不想使用/指定脚本元素接口上的所有可用属性:我应该使用更通用的属性(什么?),还是完全忽略接口?或者有没有一种方法可以使用一个界面,这样我就可以让intellisense助手自动完成,如果界面上没有道具,就警告我,但是当我没有全部使用道具时就保持沉默?将
SCRIPT
更改为SCRIPT
,TypeScript就会意识到createElement()
返回一个HTMLScriptElement
感兴趣的各方可以参考TS标准库的类型声明,其中提到包含相关类型的脚本也可以自动推断类型,因此不需要设置const foo:HTMLScriptElement=…