Vyhledávání na webu

node.js - tsc není rozpoznán jako interní nebo externí příkaz


Aktualizoval jsem z VSCode 0.10.6 na 0.10.8 a poprvé jsem zkoušel použít Typescript. Bohužel, když řeknu VSCode, aby provedl sestavení, dostanu tuto chybu:

tsc není rozpoznáno jako vnitřní nebo vnější příkaz...

Zde jsou relevantní údaje:

  • Vytvořil jsem nový projekt „HelloWorld“ podle pokynů VS Code. To zahrnovalo:

    • Spustil jsem npm init pro nový soubor package.json
    • Spustil jsem npm i --save-dev typescript, protože chci lokální instalaci, nikoli globální.
    • Vytvořil jsem soubor launch.json pro definování projektu node.js.
    • Vytvořil jsem soubor tasks.json s předepsanými nastaveními pro tsc.
  • Vytvořil jsem soubor settings.json, jak je zde ukázáno. Nepomohlo to.
  • Mám nainstalovaný Visual Studio 2015 Community, ale nenainstaloval jsem žádné rozšíření pro Typescript. Když na vývojářském příkazovém řádku napíšu "where tsc", odpoví "nelze najít". Předpokládám, že je to dobře.

Restartoval jsem VSCode (několikrát). Co mi chybí? Co ještě je třeba udělat?

Aktualizace

Zkusil jsem řešení, které nabídl @zlumer. Podařilo se tím spustit kompilátor TypeScriptu, ale pak se objevily tisíce chyb. Abych to opravil, musel jsem také upravit svůj soubor tsconfig.json a vyloučit složku node_modules:

"exclude": [
    "node_modules"
]

Odpověď č. 1

Může existovat důvod, proč Typescript není nainstalován globálně, tak jej nainstalujte

npm install -g typescript // installs typescript globally

Pokud chcete převést soubory .ts na .js, udělejte to podle vaší potřeby

tsc path/file.ts // file.ts will be converted to file.js
tsc              // all .ts files will be converted to .js files with in the directory
tsc --watch      // converts all .ts files to .js, and watch changes in .ts files

Odpověď č. 2

Musíte spustit:

npx tsc

...místo toho, aby jen volal tsc sám o sobě jako příkaz Windows, jak se zdá, že všichni ostatní navrhují.

Pokud nemáte nainstalovaný npx, měli byste ho nainstalovat. Měl by být nainstalován globálně (na rozdíl od Typescriptu). Nejprve tedy spusťte:

npm install -g npx

..pak spusťte npx tsc.

Odpověď č. 3

Problém je v tom, že tsc není ve vašem PATH, pokud je nainstalován lokálně.

Měli byste upravit svůj .vscode/tasks.json, aby obsahoval úplnou cestu k tsc.

Řádek, který je třeba změnit, je pravděpodobně roven "command": "tsc".

Měli byste to změnit na "command": "node" a přidat následující do svých args: "args": ["$ {workspaceRoot}\\node_modules\\typescript\\bin\\tsc"] (na Windows).

Tímto bude VSCode instrukováno, aby:

  1. Spusťte NodeJS (mělo by být nainstalováno globálně).
  2. Předajte svou místní instalaci Typescriptu jako skript, který se má spustit.

(to je prakticky to, co dělá spustitelný soubor tsc)

Jste si jistý, že nechcete nainstalovat Typescript globálně? Mělo by to věci usnadnit, zvlášť pokud s jeho používáním teprve začínáte.

Odpověď č. 4

Pro Windows

Po globální instalaci TypeScriptu

npm install typescript -g 

prostě vyhledejte „node.js příkazový řádek“

napsat do příkazového řádku

tsc -v 

Zde vidíme, že příkaz tsc funguje, nyní přejděte do své složky a zadejte

tsc filename.ts 

Je to v souladu se souborem TS na JS.

Související články