javascript - Typescript-kompilatoren stopper ikke når en feil oppstår i Next.js


jeg vil bruke nextjs sammen med typescript i prosjektet mitt. jeg brukte npx create-next-app --typescript (offisiell måte å legge til typescript i next på). alt fungerer, men når en typescript-feil oppstår, f.eks const st:string=3;, kjører kompilatoren vellykket og jeg mottar feilen kun i IDE-en min, og kompilatoren stopper ikke. jeg vil at når jeg kjører npm run dev-kommandoen, skal kompilatoren vise feilen til meg og deretter feile. jeg vil være veldig takknemlig om noen kunne hjelpe meg

dette er min tsconfig-fil

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
  },
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules"]
}

Svar #1

hvis du vil ha bedre intellisense for å finne ut hva som foregår, sørg for å aktivere strictNullChecks: true og alwaysStrict: true

Det vil forbedre din TSX-opplevelse

{
    "compilerOptions": {
        "target": "es5",
        "module": "esnext",
        "lib": ["ESNext", "DOM", "DOM.Iterable"],
        "declaration": true,
        "strict": true,
        "noImplicitAny": true,
        "strictNullChecks": true,
        "noImplicitThis": true,
        "alwaysStrict": true,
        "moduleResolution": "node",
        "noUnusedLocals": false,
        "noUnusedParameters": false,
        "jsx": "preserve",
        "downlevelIteration": true,
        "noImplicitReturns": true,
        "noFallthroughCasesInSwitch": true,
        "inlineSourceMap": true,
        "inlineSources": true,
        "experimentalDecorators": true,
        "strictPropertyInitialization": true,
        "baseUrl": ".",
        "allowJs": true,
        "skipLibCheck": true,
        "forceConsistentCasingInFileNames": true,
        "noEmit": true,
        "esModuleInterop": true,
        "resolveJsonModule": true,
        "isolatedModules": true,
        "paths": {
            "@/components/*": ["components/*"],
            "@/config/*": ["config/*"],
            "@/graphql/*": ["graphql/*"],
            "@/lib/*": ["lib/*"],
            "@/pages/*": ["pages/*"],
            "@/scripts/*": ["scripts/*"],
            "@/styles/*": ["styles/*"],
            "@/test/*": ["test/*"],
            "@/types/*": ["types/*"]
        }
    },
    "include": ["**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"],
    "exclude": ["node_modules", ".next", "out"]
}

Relaterte artikler