Javascript 如何使用Polyfill在TypeScript中修补类

Javascript 如何使用Polyfill在TypeScript中修补类,javascript,typescript,web,Javascript,Typescript,Web,您好,我最近开始使用TypeScript,我决定迁移一个WebComponent,我从我尝试导入的组件的基础开始,该组件扩展了CSSStyleSheet类的功能,但我无法让TypeScript识别“replaceSync”添加到多边形填充中的方法 如何使TypeScript使用Polyfill方法更新类定义 import {patch, elementOpen, elementClose} from 'incremental-dom'; import '@webcomponents/custom

您好,我最近开始使用TypeScript,我决定迁移一个WebComponent,我从我尝试导入的组件的基础开始,该组件扩展了CSSStyleSheet类的功能,但我无法让TypeScript识别“replaceSync”添加到多边形填充中的方法

如何使TypeScript使用Polyfill方法更新类定义

import {patch, elementOpen, elementClose} from 'incremental-dom';
import '@webcomponents/custom-elements'
import 'construct-style-sheets-polyfill';
import * as reset_style from './reset.scss';

const sheet:CSSStyleSheet = new CSSStyleSheet();
sheet.replaceSync(reset_style);
错误:(7,8)TS2339:类型上不存在属性“replaceSync” “CSSStyleSheet”

package.json

{
  "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production"
  },
  "devDependencies": {
    "@babel/cli": "^7.11.6",
    "@babel/core": "^7.11.6",
    "@babel/plugin-proposal-class-properties": "^7.10.4",
    "@babel/preset-env": "^7.11.5",
    "@babel/preset-typescript": "^7.10.4",
    "babel-loader": "^8.1.0",
    "html-webpack-plugin": "^4.5.0",
    "node-sass": "^4.14.1",
    "sass-loader": "^10.0.3",
    "style-loader": "^2.0.0",
    "terser-webpack-plugin": "^4.2.3",
    "ts-loader": "^8.0.4",
    "typescript": "^4.0.3",
    "typings-for-css-modules-loader": "^1.7.0",
    "webpack": "^4.44.2",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0"
  },
  "dependencies": {
    "construct-style-sheets-polyfill": "^2.4.2",
    "incremental-dom": "^0.7.0"
  }
}
tsconfig.json

{
  "include": [
    "src/**/*.ts",
    "declarations.d.ts"
  ],
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "strict": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
  }
}
你想做的是

declarations.d.ts
文件中,包括以下内容

interface CSSStyleSheet {
  replaceSync(reset_style: any): void
}
你想做的是

declarations.d.ts
文件中,包括以下内容

interface CSSStyleSheet {
  replaceSync(reset_style: any): void
}