Vyhledávání na webu

ladění - Jak ladit Typescript ve Visual Studio 2015 asp.net 5?


Existuje způsob, jak ladit soubory TypeScript z aplikace Visual Studio 2015 CTP6 ASP.NET 5? Pokud ne, možná existuje způsob, jak nakonfigurovat soubory map zdrojů (source map), takže když je budu ladit v prohlížeči, změny se automaticky uloží do mých .ts souborů na serveru? To může být obtížné, protože .ts soubory jsou kompilovány pomocí gulp, ale možná někdo našel dobré řešení tohoto problému?

Odpověď č. 1

Ladění TypeScriptu ve Visual Studiu funguje s vhodným nastavením.

  1. Nejprve se ujistěte, že vytváříte zdrojové mapy při kompilaci TypeScriptu do JavaScriptu. Měli byste tedy mít soubor xxx.js.map u každého souboru xxx.js.

    Získání zdrojových map spuštěním TypeScript kompilátoru mimo Visual Studio nezpůsobuje žádné potíže, na příkazovém řádku tsc přidejte:

    --sourcemap %1.ts
    

    Váš skript Gulp obvykle vytvoří sourcemapy ve výchozím nastavení.

  2. Konfigurujte svou webovou aplikaci ve Visual Studiu.

    Nastavte Internet Explorer jako výchozí prohlížeč. Fungovalo mi to jen s IE a nemyslím si, že by fungoval nějaký jiný prohlížeč. (editace: Kdesi jsem četl, že existuje Webkit debugovací most, takže by mělo být možné debugování v Chromu, ale nepamatuji si zdroj.)

    V vlastnostech projektu přejděte na kartu „Web“ a nakonfigurujte sekci „Ladiče“ ve spodní části: Zakázat všechny ladicí programy! To je protichůdné intuici a může se vám zobrazit tato chybová zpráva:

    Pokusili jste se spustit ladicí program, ale na základě vašich aktuálních nastavení ladění na stránce vlastností webu neexistuje žádný proces k ladění.

    K této situaci dochází, když je vybrána možnost „Neotevírat stránku. Počkejte na požadavek z jiného procesu“ a ladění ASP.NET je zakázáno. Zkontrolujte prosím nastavení na stránce Vlastnosti webu a zkuste to znovu. Jak hlásí chybová zpráva, akce spuštění v horní části vlastností webu by měla být jiná možnost, například „Aktuální stránka“.

    Nastavte body přerušení ve svém .ts kódu ve Visual Studiu nyní nebo později.

    Stiskněte F5

I když můžete použít editor Visual Studio k ladění a úpravám souborů .ts, funkce „Upravit a pokračovat“ nebude fungovat, v současné době neexistuje žádný prohlížeč, který by mohl znovu načíst soubory .js a .js.map a pokračovat. (Opravte mě někdo, pokud se mýlím, a budu rád.)

Odpověď č. 2

Nejlepší způsob, jak zacházet se soubory map, který jsem našel, je zahrnout zdroj přímo do generovaných souborů .js. To je samozřejmě řešení pouze pro vývojové prostředí.

můj tsconfig.json níže:

{
    "compilerOptions": {
        "noImplicitAny": false,
        "noEmitOnError": true,
        "removeComments": false,
        "target": "es5",
        "module": "system",
        "moduleResolution": "node",
        "outDir": "./wwwroot/scripts",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "inlineSourceMap": true,
        "inlineSources": true
    },
    "exclude": [
        "node_modules",
        "wwwroot"
    ]
}

Nastavení, která hledáte, jsou inlineSourceMap a inlineSources.

To také pomáhá s problémy způsobenými přesouváním vygenerovaného .js na různé cesty a tím, že se nemusíte starat o to, kam jdou mapové soubory.

Související články