#typescript
#typescript
Вопрос:
Я хочу импортировать файл TypeScript, содержащийся в package ( node_modules
). Внешний файл содержит ошибки типа. Когда я запускаю компилятор TypeScript без импорта файла, никаких сообщений об ошибках не сообщается. Тем не менее, мне нужен файл как для его содержимого, так и для объявлений типа. Всякий раз, когда я импортирую файл, ошибки, содержащиеся в файле, также сообщаются при запуске компилятора.
Я пытался include
использовать только мою src
папку, exclude
внешний файл, создать compilerOptions.types
пустой массив, установить compilerOptions.skipLibCheck
значение true и / или поместить //@ts-ignore
в мое импортированное место, но ничего из этого не помогает.
Учитывая, что файл находится внутри node_modules
, и у меня нет доступа к этой библиотеке, я не могу зайти в файл и исправить ошибку или просто записать //@ts-ignore
в него, потому что все изменения будут перезаписаны в будущем.
Например,
//@ts-ignore
import IntersectSrc from 'vuetify/src/directives/intersect'
export function foo() {
console.log("Hello World")
IntersectSrc.inserted(document.createElement('div'), {})
}
export type InsertFunctionType = typeof IntersectSrc['inserted']
с помощью следующего tsconfig.json
{
"compilerOptions": {
"target": "ES2016",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"types": [
],
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules",
"node_modules/vuetify/src/directives/intersect/index.ts"
]
}
сообщает об ошибке Property '_observe' does not exist on type 'HTMLElement'
из node_modules/vuetify/src/directives/intersect/index.ts
.
Итак, мой вопрос в том, есть ли какие-либо способы игнорировать ошибки, вносимые импортом сторонних пакетов?