typeerror - SvelteKit känner inte igen Typescript-syntax


Jag har ett SvelteKit-projekt med TypeScript (uppsatt med Vite) som fungerade bra när jag körde "npm run dev". Men när jag försökte lägga upp appen på GitHub Pages dök detta fel upp (på lokal värd) när jag hovrar över min enda länk som innehåller TypeScript-kod (den förladdar sidan när länken hovras).

[plugin:vite-plugin-svelte] Oväntrat tecken

    [plugin:vite-plugin-svelte] C:/Users/mwnbo/source/repos/Svelte/chess-app/src/lib/Board.svelte:10:14 Unexpected token
C:/Users/mwnbo/source/repos/Svelte/chess-app/src/lib/Board.svelte:10:14
8 |    import { get } from 'svelte/store';
  9 |  
 10 |    const testFen: string = 'rbq5/8/8/8/8/8/8/RBQ5';
                      ^
 11 |    const kingTest: string = 'k7/8/8/8/8/8/8/K7';
 12 |    // let chessBoard = new ChessBoard(kingTest);

Kodavsnittet som visas i skärmdumpen är inom en Svelte-komponent, i lib-mappen.

Jag vet att problemet är att det inte känner igen ts-syntaxen eftersom jag tog bort ': string'-delen av koden, och felet visade sig på nästa rad. The

Jag bytte sedan till Vercel och ändrade svelte.config.js för att använda Vercel-adaptern som anges i dokumentationen.

// svelte.config.js
import adapter from '@sveltejs/adapter-vercel';

export default {
    kit: {
    adapter: adapter()
    }
};

Det visade samma fel, på localhost och när jag försökte distribuera appen på Vercel. Finns det någon konfiguration jag behöver lägga till?

Svar #1

Förbehandling saknas i svelte.config.js.

Använd antingen vitePreprocess från pluginen eller den separata svelte-preprocess. Du behöver också lang="ts" på skriptet, om det också saknas.

Svelte 5 bör stödja grundläggande TS-typfunktioner utan en separat förbehandlare (d.v.s. funktioner som endast kräver borttagning av typer snarare än transpilering som krävs för t.ex. enum).

Adaptorn som används är irrelevant.