我有一个用 TypeScript 编写的项目。我同时使用 dom 和 Web Workers,因此我在某些文件中需要 webworker.d.ts 库,在其他文件中需要 dom.d.ts。
我已经尝试将“webworker”添加到 tsconfig.json 中的 lib 选项,但这两者不兼容。
我尝试的另一件事是添加:
/// <reference no-default-lib="true"/>
/// <reference lib="esnext" />
/// <reference lib="webworker" />
在我的 Service Worker 文件的顶部,但“webworker”适用于每个文件,而不仅仅是包含引用的文件。
如何在同一个项目中同时拥有需要引用 dom 的文件和需要引用 webworker 的文件?
这是我的配置:
// tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"noEmitHelpers": false,
"moduleResolution": "node",
"experimentalDecorators": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"types": ["webpack-env"],
"paths": {
"@/*": ["src/*"]
},
"lib": ["esnext", "dom", "dom.iterable", "scripthost"]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": ["node_modules"]
}