Javascript 如何使用Polyfill在TypeScript中修补类
您好,我最近开始使用TypeScript,我决定迁移一个WebComponent,我从我尝试导入的组件的基础开始,该组件扩展了CSSStyleSheet类的功能,但我无法让TypeScript识别“replaceSync”添加到多边形填充中的方法 如何使TypeScript使用Polyfill方法更新类定义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
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
}