首页 > 解决方案 > 未提供 HTMLScriptElement 的所有属性时的打字稿错误

问题描述

我正在将脚本附加到打字稿文件中的页面。

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标签上遇到过的错误,除了错误表明我缺少很多很多属性。

Type 'HTMLElement' is missing the following properties from type 'HTMLScriptElement': async, charset, crossOrigin, defer, and 8 more.ts(2740)

我不想使用/指定脚本元素界面上可用的所有属性:我应该使用更通用的东西(什么?),还是完全省略界面?或者有没有办法使用界面,所以我得到了智能感知助手来自动完成,如果界面上不存在道具会警告我,但是当我不使用它们时保持沉默?

标签: javascripttypescripttypes

解决方案


更改SCRIPTscript和 TypeScript 将意识到createElement()返回一个HTMLScriptElement.


推荐阅读