typescript - fel TS2688: Kan inte hitta typdefinitionsfil för 'dist'


Av någon anledning får jag detta fel error TS2688: Cannot find type definition file for 'dist', trots att dist är en mapp. Vet någon varför detta händer och vad jag kan göra för att åtgärda det?

tsconfig :

{
    "compilerOptions": {
        "target": "es5" ,
        "lib": [
            "es2019",
            "dom"
        ],
        "allowJs": false,
        "declaration": true,
        "sourceMap": true,
        "outDir": "./dist/",
        "strict": true,
        "noImplicitAny": true,
        "strictNullChecks": true,
        "strictBindCallApply": true,
        "strictPropertyInitialization": true,
        "noImplicitThis": true,
        "alwaysStrict": true,

        "noUnusedLocals": false,
        "noUnusedParameters": false,
        "noImplicitReturns": true ,
        "noFallthroughCasesInSwitch": true,
        "typeRoots": [
            "./"
        ],
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true ,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true
    },
    "compileOnSave": true,
    "exclude": ["node_modules/"],
    "include": ["main.ts"]
}

Detta är min mappstruktur:

Svar #1

"typeRoots": [
     "./"
],

Dina typeRoots är mappade till din rotmapp så det kommer tro att ./dist och ./node_modules inkluderar definitionsfiler, vilket är felaktigt. Jag skulle föreslå att placera det i en ./typings-mapp för att undvika detta problem.

  • Flytta din glsl.d.ts-fil till en mapp som heter ./typings
  • Ändra värdet för typeRoots till ['./typings']
  • Kör tsc så kommer det inte längre klaga

Svar #2

Jag använder NestJS och lösningen för mig var att lägga till "typeRoots": [], i tsconfig.json. Jag löste det av en slump och vet inte varför detta fungerar.