У меня есть проект, который написан на TypeScript. Я использую как dom, так и Web Workers, поэтому мне нужна библиотека webworker.d.ts в некоторых файлах и dom.d.ts в других файлах.
Я уже пытался добавить "webworker" в опцию lib в tsconfig.json, но эти два несовместимы.
Ещё я попробовал добавить:
/// <reference no-default-lib="true"/>
/// <reference lib="esnext" />
/// <reference lib="webworker" />
вверху моего файла рабочего сервиса, но «webworker» применяется к каждому файлу, а не только к тому, который включает ссылки.
Как я могу иметь как файлы, которые нуждаются в ссылках на dom, так и файлы, которые нуждаются в ссылках на веб-работника в рамках одного проекта?
Вот мой конфиг:
// 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"]
}